@maggioli-design-system/magma 2.0.0-beta.1 → 2.0.0-beta.2
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/README.md +15 -2
- package/dist/cjs/index-CNuKb6Lv.js +4 -4
- package/dist/cjs/index.cjs.js +257 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/magma-components.cjs.js +1 -1
- package/dist/cjs/mds-accordion-item.cjs.entry.js +1 -1
- package/dist/cjs/mds-accordion-timer-item.cjs.entry.js +1 -1
- package/dist/cjs/mds-accordion-timer.cjs.entry.js +3 -3
- package/dist/cjs/mds-accordion.cjs.entry.js +1 -1
- package/dist/cjs/mds-author.cjs.entry.js +1 -1
- package/dist/cjs/mds-avatar-stack-item.cjs.entry.js +1 -1
- package/dist/cjs/mds-avatar-stack.cjs.entry.js +1 -1
- package/dist/cjs/mds-avatar.cjs.entry.js +26 -7
- package/dist/cjs/mds-badge.cjs.entry.js +2 -2
- package/dist/cjs/mds-banner_3.cjs.entry.js +14 -8
- package/dist/cjs/mds-benchmark-bar.cjs.entry.js +2 -2
- package/dist/cjs/mds-bibliography.cjs.entry.js +5 -5
- package/dist/cjs/mds-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/mds-breadcrumb.cjs.entry.js +4 -1
- package/dist/cjs/mds-button-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/mds-button-group.cjs.entry.js +1 -1
- package/dist/cjs/mds-button_3.cjs.entry.js +14 -235
- package/dist/cjs/mds-calendar_2.cjs.entry.js +276 -137
- package/dist/cjs/mds-card-content.cjs.entry.js +1 -1
- package/dist/cjs/mds-card-footer.cjs.entry.js +1 -1
- package/dist/cjs/mds-card-header.cjs.entry.js +1 -1
- package/dist/cjs/mds-card-media.cjs.entry.js +1 -1
- package/dist/cjs/mds-card.cjs.entry.js +8 -10
- package/dist/cjs/mds-details.cjs.entry.js +1 -1
- package/dist/cjs/mds-dropdown.cjs.entry.js +3 -3
- package/dist/cjs/mds-emoji.cjs.entry.js +9 -2
- package/dist/cjs/mds-entity.cjs.entry.js +1 -1
- package/dist/cjs/mds-file-preview.cjs.entry.js +9 -1
- package/dist/cjs/mds-file.cjs.entry.js +4 -1
- package/dist/cjs/mds-filter-item.cjs.entry.js +4 -4
- package/dist/cjs/mds-filter.cjs.entry.js +2 -2
- package/dist/cjs/mds-header-bar.cjs.entry.js +5 -1
- package/dist/cjs/mds-header.cjs.entry.js +15 -9
- package/dist/cjs/mds-horizontal-scroll.cjs.entry.js +12 -9
- package/dist/cjs/mds-hr.cjs.entry.js +1 -1
- package/dist/cjs/mds-img.cjs.entry.js +6 -3
- package/dist/cjs/mds-input-date-range-preselection.cjs.entry.js +1 -1
- package/dist/cjs/mds-input-date-range.cjs.entry.js +212 -66
- package/dist/cjs/mds-input-date.cjs.entry.js +33 -12
- package/dist/cjs/mds-input-field.cjs.entry.js +4 -4
- package/dist/cjs/mds-input-otp.cjs.entry.js +3 -3
- package/dist/cjs/mds-input-range.cjs.entry.js +1 -1
- package/dist/cjs/mds-input-select.cjs.entry.js +27 -13
- package/dist/cjs/mds-input-switch_2.cjs.entry.js +5 -2
- package/dist/cjs/mds-input-tip_2.cjs.entry.js +6 -3
- package/dist/cjs/mds-input-upload.cjs.entry.js +10 -7
- package/dist/cjs/mds-input.cjs.entry.js +24 -9
- package/dist/cjs/mds-keyboard-key.cjs.entry.js +5 -2
- package/dist/cjs/mds-keyboard.cjs.entry.js +7 -4
- package/dist/cjs/mds-kpi-item.cjs.entry.js +1 -1
- package/dist/cjs/mds-kpi.cjs.entry.js +1 -1
- package/dist/cjs/mds-label.cjs.entry.js +4 -1
- package/dist/cjs/mds-list-item.cjs.entry.js +1 -1
- package/dist/cjs/mds-list.cjs.entry.js +1 -1
- package/dist/cjs/mds-mention.cjs.entry.js +1 -1
- package/dist/cjs/mds-modal.cjs.entry.js +13 -10
- package/dist/cjs/mds-note.cjs.entry.js +4 -1
- package/dist/cjs/mds-notification.cjs.entry.js +5 -5
- package/dist/cjs/mds-paginator-item.cjs.entry.js +4 -4
- package/dist/cjs/mds-paginator.cjs.entry.js +1 -1
- package/dist/cjs/mds-policy-ai.cjs.entry.js +4 -1
- package/dist/cjs/mds-pref-animation.cjs.entry.js +7 -4
- package/dist/cjs/mds-pref-consumption.cjs.entry.js +7 -4
- package/dist/cjs/mds-pref-contrast.cjs.entry.js +8 -5
- package/dist/cjs/mds-pref-language-item.cjs.entry.js +4 -1
- package/dist/cjs/mds-pref-language.cjs.entry.js +5 -2
- package/dist/cjs/mds-pref-theme-variant-item.cjs.entry.js +5 -2
- package/dist/cjs/mds-pref-theme-variant.cjs.entry.js +6 -3
- package/dist/cjs/mds-pref-theme.cjs.entry.js +11 -8
- package/dist/cjs/mds-pref.cjs.entry.js +6 -3
- package/dist/cjs/mds-price-table-features-cell.cjs.entry.js +1 -1
- package/dist/cjs/mds-price-table-features-row.cjs.entry.js +1 -1
- package/dist/cjs/mds-price-table-features.cjs.entry.js +1 -1
- package/dist/cjs/mds-price-table-header.cjs.entry.js +1 -1
- package/dist/cjs/mds-price-table-list-item.cjs.entry.js +1 -1
- package/dist/cjs/mds-price-table-list.cjs.entry.js +1 -1
- package/dist/cjs/mds-price-table.cjs.entry.js +1 -1
- package/dist/cjs/mds-progress_2.cjs.entry.js +3 -3
- package/dist/cjs/mds-push-notification-item.cjs.entry.js +6 -3
- package/dist/cjs/mds-push-notification.cjs.entry.js +16 -6
- package/dist/cjs/mds-quote.cjs.entry.js +1 -1
- package/dist/cjs/mds-radial-menu-item.cjs.entry.js +4 -1
- package/dist/cjs/mds-radial-menu.cjs.entry.js +3 -3
- package/dist/cjs/mds-separator.cjs.entry.js +1 -1
- package/dist/cjs/mds-status-bar.cjs.entry.js +4 -1
- package/dist/cjs/mds-stepper-bar-item.cjs.entry.js +4 -1
- package/dist/cjs/mds-stepper-bar.cjs.entry.js +2 -2
- package/dist/cjs/mds-tab-bar-item.cjs.entry.js +5 -2
- package/dist/cjs/mds-tab-bar.cjs.entry.js +1 -1
- package/dist/cjs/mds-tab_2.cjs.entry.js +5 -5
- package/dist/cjs/mds-table-body.cjs.entry.js +1 -1
- package/dist/cjs/mds-table-footer.cjs.entry.js +1 -1
- package/dist/cjs/mds-table-header-cell.cjs.entry.js +18 -7
- package/dist/cjs/mds-table-header.cjs.entry.js +10 -2
- package/dist/cjs/mds-table-row.cjs.entry.js +9 -3
- package/dist/cjs/mds-table.cjs.entry.js +2 -2
- package/dist/cjs/mds-text.cjs.entry.js +3 -3
- package/dist/cjs/mds-toast.cjs.entry.js +3 -3
- package/dist/cjs/mds-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/mds-tree-item.cjs.entry.js +7 -1
- package/dist/cjs/mds-tree.cjs.entry.js +2 -2
- package/dist/cjs/mds-url-view.cjs.entry.js +7 -4
- package/dist/cjs/mds-usage.cjs.entry.js +4 -1
- package/dist/cjs/mds-video-wall.cjs.entry.js +1 -1
- package/dist/cjs/mds-zero.cjs.entry.js +1 -1
- package/dist/collection/components/mds-accordion/mds-accordion.js +2 -2
- package/dist/collection/components/mds-accordion-item/mds-accordion-item.js +2 -2
- package/dist/collection/components/mds-accordion-timer/mds-accordion-timer.js +4 -4
- package/dist/collection/components/mds-accordion-timer-item/mds-accordion-timer-item.js +2 -2
- package/dist/collection/components/mds-author/mds-author.js +2 -2
- package/dist/collection/components/mds-avatar/mds-avatar.js +26 -7
- package/dist/collection/components/mds-avatar-stack/mds-avatar-stack.js +4 -1
- package/dist/collection/components/mds-avatar-stack-item/mds-avatar-stack-item.js +1 -1
- package/dist/collection/components/mds-badge/mds-badge.js +3 -3
- package/dist/collection/components/mds-banner/mds-banner.js +7 -4
- package/dist/collection/components/mds-benchmark-bar/mds-benchmark-bar.js +3 -3
- package/dist/collection/components/mds-bibliography/mds-bibliography.js +5 -5
- package/dist/collection/components/mds-breadcrumb/mds-breadcrumb.js +6 -3
- package/dist/collection/components/mds-breadcrumb-item/mds-breadcrumb-item.js +1 -1
- package/dist/collection/components/mds-button/mds-button.js +7 -5
- package/dist/collection/components/mds-button-dropdown/mds-button-dropdown.js +4 -1
- package/dist/collection/components/mds-button-group/mds-button-group.js +4 -1
- package/dist/collection/components/mds-calendar/mds-calendar.css +63 -5
- package/dist/collection/components/mds-calendar/mds-calendar.js +450 -143
- package/dist/collection/components/mds-calendar-cell/mds-calendar-cell.js +1 -1
- package/dist/collection/components/mds-card/mds-card.js +8 -10
- package/dist/collection/components/mds-card-content/mds-card-content.js +2 -2
- package/dist/collection/components/mds-card-footer/mds-card-footer.js +2 -2
- package/dist/collection/components/mds-card-header/mds-card-header.js +2 -2
- package/dist/collection/components/mds-card-media/mds-card-media.js +2 -2
- package/dist/collection/components/mds-chip/mds-chip.js +9 -6
- package/dist/collection/components/mds-details/mds-details.js +2 -2
- package/dist/collection/components/mds-dropdown/mds-dropdown.js +4 -4
- package/dist/collection/components/mds-emoji/mds-emoji.js +16 -6
- package/dist/collection/components/mds-entity/mds-entity.js +2 -2
- package/dist/collection/components/mds-file/mds-file.js +5 -2
- package/dist/collection/components/mds-file-preview/mds-file-preview.js +10 -2
- package/dist/collection/components/mds-filter/mds-filter.js +3 -3
- package/dist/collection/components/mds-filter-item/mds-filter-item.js +4 -4
- package/dist/collection/components/mds-header/mds-header.js +22 -13
- package/dist/collection/components/mds-header-bar/mds-header-bar.js +12 -5
- package/dist/collection/components/mds-help/mds-help.js +2 -2
- package/dist/collection/components/mds-horizontal-scroll/mds-horizontal-scroll.js +13 -10
- package/dist/collection/components/mds-hr/mds-hr.js +1 -1
- package/dist/collection/components/mds-icon/mds-icon.js +2 -2
- package/dist/collection/components/mds-icon/services/icons-set.service.js +33 -1
- package/dist/collection/components/mds-img/mds-img.js +7 -4
- package/dist/collection/components/mds-input/mds-input.js +42 -18
- package/dist/collection/components/mds-input-date/mds-input-date.js +48 -20
- package/dist/collection/components/mds-input-date-range/mds-input-date-range.css +37 -1
- package/dist/collection/components/mds-input-date-range/mds-input-date-range.js +245 -84
- package/dist/collection/components/mds-input-date-range/test/mds-input-date-range.stories.js +10 -0
- package/dist/collection/components/mds-input-date-range-preselection/mds-input-date-range-preselection.js +4 -1
- package/dist/collection/components/mds-input-field/mds-input-field.js +7 -4
- package/dist/collection/components/mds-input-otp/mds-input-otp.js +3 -3
- package/dist/collection/components/mds-input-range/mds-input-range.js +2 -1
- package/dist/collection/components/mds-input-select/mds-input-select.js +29 -14
- package/dist/collection/components/mds-input-switch/mds-input-switch.js +6 -3
- package/dist/collection/components/mds-input-tip/mds-input-tip.js +4 -1
- package/dist/collection/components/mds-input-tip-item/mds-input-tip-item.js +9 -3
- package/dist/collection/components/mds-input-upload/mds-input-upload.js +11 -8
- package/dist/collection/components/mds-keyboard/mds-keyboard.js +11 -5
- package/dist/collection/components/mds-keyboard-key/mds-keyboard-key.js +6 -3
- package/dist/collection/components/mds-kpi/mds-kpi.js +2 -2
- package/dist/collection/components/mds-kpi-item/mds-kpi-item.js +1 -1
- package/dist/collection/components/mds-label/mds-label.js +5 -2
- package/dist/collection/components/mds-list/mds-list.js +2 -2
- package/dist/collection/components/mds-list-item/mds-list-item.js +2 -2
- package/dist/collection/components/mds-mention/mds-mention.js +1 -1
- package/dist/collection/components/mds-modal/mds-modal.js +15 -12
- package/dist/collection/components/mds-note/mds-note.js +6 -3
- package/dist/collection/components/mds-notification/mds-notification.js +5 -5
- package/dist/collection/components/mds-paginator/mds-paginator.js +1 -1
- package/dist/collection/components/mds-paginator-item/mds-paginator-item.js +5 -5
- package/dist/collection/components/mds-policy-ai/mds-policy-ai.js +5 -2
- package/dist/collection/components/mds-pref/mds-pref.js +8 -5
- package/dist/collection/components/mds-pref-animation/mds-pref-animation.js +8 -5
- package/dist/collection/components/mds-pref-consumption/mds-pref-consumption.js +8 -5
- package/dist/collection/components/mds-pref-contrast/mds-pref-contrast.js +9 -6
- package/dist/collection/components/mds-pref-language/mds-pref-language.js +7 -4
- package/dist/collection/components/mds-pref-language-item/mds-pref-language-item.js +5 -2
- package/dist/collection/components/mds-pref-theme/mds-pref-theme.js +12 -9
- package/dist/collection/components/mds-pref-theme-variant/mds-pref-theme-variant.js +8 -5
- package/dist/collection/components/mds-pref-theme-variant-item/mds-pref-theme-variant-item.js +6 -3
- package/dist/collection/components/mds-price-table/mds-price-table.js +4 -1
- package/dist/collection/components/mds-price-table-features/mds-price-table-features.js +2 -2
- package/dist/collection/components/mds-price-table-features-cell/mds-price-table-features-cell.js +2 -2
- package/dist/collection/components/mds-price-table-features-row/mds-price-table-features-row.js +2 -2
- package/dist/collection/components/mds-price-table-header/mds-price-table-header.js +4 -1
- package/dist/collection/components/mds-price-table-list/mds-price-table-list.js +2 -2
- package/dist/collection/components/mds-price-table-list-item/mds-price-table-list-item.js +4 -1
- package/dist/collection/components/mds-progress/mds-progress.js +2 -2
- package/dist/collection/components/mds-push-notification/mds-push-notification.js +25 -14
- package/dist/collection/components/mds-push-notification-item/mds-push-notification-item.js +7 -4
- package/dist/collection/components/mds-quote/mds-quote.js +2 -2
- package/dist/collection/components/mds-radial-menu/mds-radial-menu.js +6 -3
- package/dist/collection/components/mds-radial-menu-item/mds-radial-menu-item.js +5 -2
- package/dist/collection/components/mds-radial-progress/mds-radial-progress.js +1 -1
- package/dist/collection/components/mds-separator/mds-separator.js +1 -1
- package/dist/collection/components/mds-spinner/mds-spinner.js +1 -1
- package/dist/collection/components/mds-status-bar/mds-status-bar.js +6 -3
- package/dist/collection/components/mds-stepper-bar/mds-stepper-bar.js +3 -3
- package/dist/collection/components/mds-stepper-bar-item/mds-stepper-bar-item.js +5 -2
- package/dist/collection/components/mds-tab/mds-tab.js +5 -5
- package/dist/collection/components/mds-tab-bar/mds-tab-bar.js +2 -2
- package/dist/collection/components/mds-tab-bar-item/mds-tab-bar-item.js +7 -4
- package/dist/collection/components/mds-tab-item/mds-tab-item.js +1 -1
- package/dist/collection/components/mds-table/mds-table.js +5 -5
- package/dist/collection/components/mds-table-body/mds-table-body.js +4 -4
- package/dist/collection/components/mds-table-cell/mds-table-cell.js +2 -2
- package/dist/collection/components/mds-table-footer/mds-table-footer.js +2 -2
- package/dist/collection/components/mds-table-header/mds-table-header.js +23 -9
- package/dist/collection/components/mds-table-header-cell/mds-table-header-cell.js +19 -8
- package/dist/collection/components/mds-table-row/mds-table-row.js +16 -10
- package/dist/collection/components/mds-text/mds-text.js +4 -4
- package/dist/collection/components/mds-toast/mds-toast.js +4 -4
- package/dist/collection/components/mds-tooltip/mds-tooltip.js +3 -3
- package/dist/collection/components/mds-tree/mds-tree.js +3 -3
- package/dist/collection/components/mds-tree-item/mds-tree-item.js +11 -5
- package/dist/collection/components/mds-url-view/mds-url-view.js +8 -5
- package/dist/collection/components/mds-usage/mds-usage.js +6 -3
- package/dist/collection/components/mds-video-wall/mds-video-wall.js +2 -2
- package/dist/collection/components/mds-zero/mds-zero.js +2 -2
- package/dist/collection/index.js +15 -0
- package/dist/components/icons-set.service.js +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -1
- package/dist/components/mds-accordion-item.js +1 -1
- package/dist/components/mds-accordion-timer-item.js +1 -1
- package/dist/components/mds-accordion-timer.js +1 -1
- package/dist/components/mds-accordion.js +1 -1
- package/dist/components/mds-author.js +1 -1
- package/dist/components/mds-avatar-stack-item2.js +1 -1
- package/dist/components/mds-avatar-stack.js +1 -1
- package/dist/components/mds-avatar2.js +1 -1
- package/dist/components/mds-badge2.js +1 -1
- package/dist/components/mds-banner2.js +1 -1
- package/dist/components/mds-benchmark-bar.js +1 -1
- package/dist/components/mds-bibliography.js +1 -1
- package/dist/components/mds-breadcrumb-item.js +1 -1
- package/dist/components/mds-breadcrumb.js +1 -1
- package/dist/components/mds-button-dropdown.js +1 -1
- package/dist/components/mds-button-group.js +1 -1
- package/dist/components/mds-button2.js +1 -1
- package/dist/components/mds-calendar-cell2.js +1 -1
- package/dist/components/mds-calendar2.js +1 -1
- package/dist/components/mds-card-content.js +1 -1
- package/dist/components/mds-card-footer.js +1 -1
- package/dist/components/mds-card-header.js +1 -1
- package/dist/components/mds-card-media.js +1 -1
- package/dist/components/mds-card.js +1 -1
- package/dist/components/mds-chip2.js +1 -1
- package/dist/components/mds-details.js +1 -1
- package/dist/components/mds-dropdown2.js +1 -1
- package/dist/components/mds-emoji.js +1 -1
- package/dist/components/mds-entity.js +1 -1
- package/dist/components/mds-file-preview2.js +1 -1
- package/dist/components/mds-file.js +1 -1
- package/dist/components/mds-filter-item2.js +1 -1
- package/dist/components/mds-filter.js +1 -1
- package/dist/components/mds-header-bar.js +1 -1
- package/dist/components/mds-header.js +1 -1
- package/dist/components/mds-help2.js +1 -1
- package/dist/components/mds-horizontal-scroll.js +1 -1
- package/dist/components/mds-hr.js +1 -1
- package/dist/components/mds-icon2.js +1 -1
- package/dist/components/mds-img2.js +1 -1
- package/dist/components/mds-input-date-range-preselection.js +1 -1
- package/dist/components/mds-input-date-range.js +1 -1
- package/dist/components/mds-input-date.js +1 -1
- package/dist/components/mds-input-field.js +1 -1
- package/dist/components/mds-input-otp.js +1 -1
- package/dist/components/mds-input-range.js +1 -1
- package/dist/components/mds-input-select.js +1 -1
- package/dist/components/mds-input-switch2.js +1 -1
- package/dist/components/mds-input-tip-item2.js +1 -1
- package/dist/components/mds-input-tip2.js +1 -1
- package/dist/components/mds-input-upload.js +1 -1
- package/dist/components/mds-input2.js +1 -1
- package/dist/components/mds-keyboard-key.js +1 -1
- package/dist/components/mds-keyboard.js +1 -1
- package/dist/components/mds-kpi-item.js +1 -1
- package/dist/components/mds-kpi.js +1 -1
- package/dist/components/mds-label.js +1 -1
- package/dist/components/mds-list-item.js +1 -1
- package/dist/components/mds-list.js +1 -1
- package/dist/components/mds-mention.js +1 -1
- package/dist/components/mds-modal2.js +1 -1
- package/dist/components/mds-note.js +1 -1
- package/dist/components/mds-notification.js +1 -1
- package/dist/components/mds-paginator-item2.js +1 -1
- package/dist/components/mds-paginator.js +1 -1
- package/dist/components/mds-policy-ai.js +1 -1
- package/dist/components/mds-pref-animation.js +1 -1
- package/dist/components/mds-pref-consumption.js +1 -1
- package/dist/components/mds-pref-contrast.js +1 -1
- package/dist/components/mds-pref-language-item.js +1 -1
- package/dist/components/mds-pref-language.js +1 -1
- package/dist/components/mds-pref-theme-variant-item.js +1 -1
- package/dist/components/mds-pref-theme-variant.js +1 -1
- package/dist/components/mds-pref-theme.js +1 -1
- package/dist/components/mds-pref.js +1 -1
- package/dist/components/mds-price-table-features-cell.js +1 -1
- package/dist/components/mds-price-table-features-row.js +1 -1
- package/dist/components/mds-price-table-features.js +1 -1
- package/dist/components/mds-price-table-header.js +1 -1
- package/dist/components/mds-price-table-list-item.js +1 -1
- package/dist/components/mds-price-table-list.js +1 -1
- package/dist/components/mds-price-table.js +1 -1
- package/dist/components/mds-progress2.js +1 -1
- package/dist/components/mds-push-notification-item.js +1 -1
- package/dist/components/mds-push-notification.js +1 -1
- package/dist/components/mds-quote.js +1 -1
- package/dist/components/mds-radial-menu-item.js +1 -1
- package/dist/components/mds-radial-menu.js +1 -1
- package/dist/components/mds-radial-progress2.js +1 -1
- package/dist/components/mds-separator2.js +1 -1
- package/dist/components/mds-spinner2.js +1 -1
- package/dist/components/mds-status-bar.js +1 -1
- package/dist/components/mds-stepper-bar-item.js +1 -1
- package/dist/components/mds-stepper-bar.js +1 -1
- package/dist/components/mds-tab-bar-item.js +1 -1
- package/dist/components/mds-tab-bar.js +1 -1
- package/dist/components/mds-tab-item2.js +1 -1
- package/dist/components/mds-tab2.js +1 -1
- package/dist/components/mds-table-body.js +1 -1
- package/dist/components/mds-table-cell2.js +1 -1
- package/dist/components/mds-table-footer.js +1 -1
- package/dist/components/mds-table-header-cell2.js +1 -1
- package/dist/components/mds-table-header.js +1 -1
- package/dist/components/mds-table-row.js +1 -1
- package/dist/components/mds-table.js +1 -1
- package/dist/components/mds-text2.js +1 -1
- package/dist/components/mds-toast.js +1 -1
- package/dist/components/mds-tooltip2.js +1 -1
- package/dist/components/mds-tree-item.js +1 -1
- package/dist/components/mds-tree.js +1 -1
- package/dist/components/mds-url-view.js +1 -1
- package/dist/components/mds-usage.js +1 -1
- package/dist/components/mds-video-wall.js +1 -1
- package/dist/components/mds-zero.js +1 -1
- package/dist/documentation.json +824 -348
- package/dist/esm/index-CAd5312P.js +4 -4
- package/dist/esm/index.js +256 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/magma-components.js +1 -1
- package/dist/esm/mds-accordion-item.entry.js +1 -1
- package/dist/esm/mds-accordion-timer-item.entry.js +1 -1
- package/dist/esm/mds-accordion-timer.entry.js +3 -3
- package/dist/esm/mds-accordion.entry.js +1 -1
- package/dist/esm/mds-author.entry.js +1 -1
- package/dist/esm/mds-avatar-stack-item.entry.js +1 -1
- package/dist/esm/mds-avatar-stack.entry.js +1 -1
- package/dist/esm/mds-avatar.entry.js +26 -7
- package/dist/esm/mds-badge.entry.js +2 -2
- package/dist/esm/mds-banner_3.entry.js +14 -8
- package/dist/esm/mds-benchmark-bar.entry.js +2 -2
- package/dist/esm/mds-bibliography.entry.js +5 -5
- package/dist/esm/mds-breadcrumb-item.entry.js +1 -1
- package/dist/esm/mds-breadcrumb.entry.js +4 -1
- package/dist/esm/mds-button-dropdown.entry.js +1 -1
- package/dist/esm/mds-button-group.entry.js +1 -1
- package/dist/esm/mds-button_3.entry.js +10 -231
- package/dist/esm/mds-calendar_2.entry.js +276 -137
- package/dist/esm/mds-card-content.entry.js +1 -1
- package/dist/esm/mds-card-footer.entry.js +1 -1
- package/dist/esm/mds-card-header.entry.js +1 -1
- package/dist/esm/mds-card-media.entry.js +1 -1
- package/dist/esm/mds-card.entry.js +8 -10
- package/dist/esm/mds-details.entry.js +1 -1
- package/dist/esm/mds-dropdown.entry.js +3 -3
- package/dist/esm/mds-emoji.entry.js +9 -2
- package/dist/esm/mds-entity.entry.js +1 -1
- package/dist/esm/mds-file-preview.entry.js +9 -1
- package/dist/esm/mds-file.entry.js +4 -1
- package/dist/esm/mds-filter-item.entry.js +4 -4
- package/dist/esm/mds-filter.entry.js +2 -2
- package/dist/esm/mds-header-bar.entry.js +5 -1
- package/dist/esm/mds-header.entry.js +15 -9
- package/dist/esm/mds-horizontal-scroll.entry.js +12 -9
- package/dist/esm/mds-hr.entry.js +1 -1
- package/dist/esm/mds-img.entry.js +6 -3
- package/dist/esm/mds-input-date-range-preselection.entry.js +1 -1
- package/dist/esm/mds-input-date-range.entry.js +212 -66
- package/dist/esm/mds-input-date.entry.js +33 -12
- package/dist/esm/mds-input-field.entry.js +4 -4
- package/dist/esm/mds-input-otp.entry.js +3 -3
- package/dist/esm/mds-input-range.entry.js +1 -1
- package/dist/esm/mds-input-select.entry.js +27 -13
- package/dist/esm/mds-input-switch_2.entry.js +5 -2
- package/dist/esm/mds-input-tip_2.entry.js +6 -3
- package/dist/esm/mds-input-upload.entry.js +10 -7
- package/dist/esm/mds-input.entry.js +24 -9
- package/dist/esm/mds-keyboard-key.entry.js +5 -2
- package/dist/esm/mds-keyboard.entry.js +7 -4
- package/dist/esm/mds-kpi-item.entry.js +1 -1
- package/dist/esm/mds-kpi.entry.js +1 -1
- package/dist/esm/mds-label.entry.js +4 -1
- package/dist/esm/mds-list-item.entry.js +1 -1
- package/dist/esm/mds-list.entry.js +1 -1
- package/dist/esm/mds-mention.entry.js +1 -1
- package/dist/esm/mds-modal.entry.js +13 -10
- package/dist/esm/mds-note.entry.js +4 -1
- package/dist/esm/mds-notification.entry.js +5 -5
- package/dist/esm/mds-paginator-item.entry.js +4 -4
- package/dist/esm/mds-paginator.entry.js +1 -1
- package/dist/esm/mds-policy-ai.entry.js +4 -1
- package/dist/esm/mds-pref-animation.entry.js +7 -4
- package/dist/esm/mds-pref-consumption.entry.js +7 -4
- package/dist/esm/mds-pref-contrast.entry.js +8 -5
- package/dist/esm/mds-pref-language-item.entry.js +4 -1
- package/dist/esm/mds-pref-language.entry.js +5 -2
- package/dist/esm/mds-pref-theme-variant-item.entry.js +5 -2
- package/dist/esm/mds-pref-theme-variant.entry.js +6 -3
- package/dist/esm/mds-pref-theme.entry.js +11 -8
- package/dist/esm/mds-pref.entry.js +6 -3
- package/dist/esm/mds-price-table-features-cell.entry.js +1 -1
- package/dist/esm/mds-price-table-features-row.entry.js +1 -1
- package/dist/esm/mds-price-table-features.entry.js +1 -1
- package/dist/esm/mds-price-table-header.entry.js +1 -1
- package/dist/esm/mds-price-table-list-item.entry.js +1 -1
- package/dist/esm/mds-price-table-list.entry.js +1 -1
- package/dist/esm/mds-price-table.entry.js +1 -1
- package/dist/esm/mds-progress_2.entry.js +3 -3
- package/dist/esm/mds-push-notification-item.entry.js +6 -3
- package/dist/esm/mds-push-notification.entry.js +16 -6
- package/dist/esm/mds-quote.entry.js +1 -1
- package/dist/esm/mds-radial-menu-item.entry.js +4 -1
- package/dist/esm/mds-radial-menu.entry.js +3 -3
- package/dist/esm/mds-separator.entry.js +1 -1
- package/dist/esm/mds-status-bar.entry.js +4 -1
- package/dist/esm/mds-stepper-bar-item.entry.js +4 -1
- package/dist/esm/mds-stepper-bar.entry.js +2 -2
- package/dist/esm/mds-tab-bar-item.entry.js +5 -2
- package/dist/esm/mds-tab-bar.entry.js +1 -1
- package/dist/esm/mds-tab_2.entry.js +5 -5
- package/dist/esm/mds-table-body.entry.js +1 -1
- package/dist/esm/mds-table-footer.entry.js +1 -1
- package/dist/esm/mds-table-header-cell.entry.js +18 -7
- package/dist/esm/mds-table-header.entry.js +10 -2
- package/dist/esm/mds-table-row.entry.js +9 -3
- package/dist/esm/mds-table.entry.js +2 -2
- package/dist/esm/mds-text.entry.js +3 -3
- package/dist/esm/mds-toast.entry.js +3 -3
- package/dist/esm/mds-tooltip.entry.js +2 -2
- package/dist/esm/mds-tree-item.entry.js +7 -1
- package/dist/esm/mds-tree.entry.js +2 -2
- package/dist/esm/mds-url-view.entry.js +7 -4
- package/dist/esm/mds-usage.entry.js +4 -1
- package/dist/esm/mds-video-wall.entry.js +1 -1
- package/dist/esm/mds-zero.entry.js +1 -1
- package/dist/esm-es5/index-CAd5312P.js +1 -1
- package/dist/esm-es5/index.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/magma-components.js +1 -1
- package/dist/esm-es5/mds-accordion-item.entry.js +1 -1
- package/dist/esm-es5/mds-accordion-timer-item.entry.js +1 -1
- package/dist/esm-es5/mds-accordion-timer.entry.js +1 -1
- package/dist/esm-es5/mds-accordion.entry.js +1 -1
- package/dist/esm-es5/mds-author.entry.js +1 -1
- package/dist/esm-es5/mds-avatar-stack-item.entry.js +1 -1
- package/dist/esm-es5/mds-avatar-stack.entry.js +1 -1
- package/dist/esm-es5/mds-avatar.entry.js +1 -1
- package/dist/esm-es5/mds-badge.entry.js +1 -1
- package/dist/esm-es5/mds-banner_3.entry.js +1 -1
- package/dist/esm-es5/mds-benchmark-bar.entry.js +1 -1
- package/dist/esm-es5/mds-bibliography.entry.js +1 -1
- package/dist/esm-es5/mds-breadcrumb-item.entry.js +1 -1
- package/dist/esm-es5/mds-breadcrumb.entry.js +1 -1
- package/dist/esm-es5/mds-button-dropdown.entry.js +1 -1
- package/dist/esm-es5/mds-button-group.entry.js +1 -1
- package/dist/esm-es5/mds-button_3.entry.js +1 -1
- package/dist/esm-es5/mds-calendar_2.entry.js +1 -1
- package/dist/esm-es5/mds-card-content.entry.js +1 -1
- package/dist/esm-es5/mds-card-footer.entry.js +1 -1
- package/dist/esm-es5/mds-card-header.entry.js +1 -1
- package/dist/esm-es5/mds-card-media.entry.js +1 -1
- package/dist/esm-es5/mds-card.entry.js +1 -1
- package/dist/esm-es5/mds-details.entry.js +1 -1
- package/dist/esm-es5/mds-dropdown.entry.js +1 -1
- package/dist/esm-es5/mds-emoji.entry.js +1 -1
- package/dist/esm-es5/mds-entity.entry.js +1 -1
- package/dist/esm-es5/mds-file-preview.entry.js +1 -1
- package/dist/esm-es5/mds-file.entry.js +1 -1
- package/dist/esm-es5/mds-filter-item.entry.js +1 -1
- package/dist/esm-es5/mds-filter.entry.js +1 -1
- package/dist/esm-es5/mds-header-bar.entry.js +1 -1
- package/dist/esm-es5/mds-header.entry.js +1 -1
- package/dist/esm-es5/mds-horizontal-scroll.entry.js +1 -1
- package/dist/esm-es5/mds-hr.entry.js +1 -1
- package/dist/esm-es5/mds-img.entry.js +1 -1
- package/dist/esm-es5/mds-input-date-range-preselection.entry.js +1 -1
- package/dist/esm-es5/mds-input-date-range.entry.js +1 -1
- package/dist/esm-es5/mds-input-date.entry.js +1 -1
- package/dist/esm-es5/mds-input-field.entry.js +1 -1
- package/dist/esm-es5/mds-input-otp.entry.js +1 -1
- package/dist/esm-es5/mds-input-range.entry.js +1 -1
- package/dist/esm-es5/mds-input-select.entry.js +1 -1
- package/dist/esm-es5/mds-input-switch_2.entry.js +1 -1
- package/dist/esm-es5/mds-input-tip_2.entry.js +1 -1
- package/dist/esm-es5/mds-input-upload.entry.js +1 -1
- package/dist/esm-es5/mds-input.entry.js +1 -1
- package/dist/esm-es5/mds-keyboard-key.entry.js +1 -1
- package/dist/esm-es5/mds-keyboard.entry.js +1 -1
- package/dist/esm-es5/mds-kpi-item.entry.js +1 -1
- package/dist/esm-es5/mds-kpi.entry.js +1 -1
- package/dist/esm-es5/mds-label.entry.js +1 -1
- package/dist/esm-es5/mds-list-item.entry.js +1 -1
- package/dist/esm-es5/mds-list.entry.js +1 -1
- package/dist/esm-es5/mds-mention.entry.js +1 -1
- package/dist/esm-es5/mds-modal.entry.js +1 -1
- package/dist/esm-es5/mds-note.entry.js +1 -1
- package/dist/esm-es5/mds-notification.entry.js +1 -1
- package/dist/esm-es5/mds-paginator-item.entry.js +1 -1
- package/dist/esm-es5/mds-paginator.entry.js +1 -1
- package/dist/esm-es5/mds-policy-ai.entry.js +1 -1
- package/dist/esm-es5/mds-pref-animation.entry.js +1 -1
- package/dist/esm-es5/mds-pref-consumption.entry.js +1 -1
- package/dist/esm-es5/mds-pref-contrast.entry.js +1 -1
- package/dist/esm-es5/mds-pref-language-item.entry.js +1 -1
- package/dist/esm-es5/mds-pref-language.entry.js +1 -1
- package/dist/esm-es5/mds-pref-theme-variant-item.entry.js +1 -1
- package/dist/esm-es5/mds-pref-theme-variant.entry.js +1 -1
- package/dist/esm-es5/mds-pref-theme.entry.js +1 -1
- package/dist/esm-es5/mds-pref.entry.js +1 -1
- package/dist/esm-es5/mds-price-table-features-cell.entry.js +1 -1
- package/dist/esm-es5/mds-price-table-features-row.entry.js +1 -1
- package/dist/esm-es5/mds-price-table-features.entry.js +1 -1
- package/dist/esm-es5/mds-price-table-header.entry.js +1 -1
- package/dist/esm-es5/mds-price-table-list-item.entry.js +1 -1
- package/dist/esm-es5/mds-price-table-list.entry.js +1 -1
- package/dist/esm-es5/mds-price-table.entry.js +1 -1
- package/dist/esm-es5/mds-progress_2.entry.js +1 -1
- package/dist/esm-es5/mds-push-notification-item.entry.js +1 -1
- package/dist/esm-es5/mds-push-notification.entry.js +1 -1
- package/dist/esm-es5/mds-quote.entry.js +1 -1
- package/dist/esm-es5/mds-radial-menu-item.entry.js +1 -1
- package/dist/esm-es5/mds-radial-menu.entry.js +1 -1
- package/dist/esm-es5/mds-separator.entry.js +1 -1
- package/dist/esm-es5/mds-status-bar.entry.js +1 -1
- package/dist/esm-es5/mds-stepper-bar-item.entry.js +1 -1
- package/dist/esm-es5/mds-stepper-bar.entry.js +1 -1
- package/dist/esm-es5/mds-tab-bar-item.entry.js +1 -1
- package/dist/esm-es5/mds-tab-bar.entry.js +1 -1
- package/dist/esm-es5/mds-tab_2.entry.js +1 -1
- package/dist/esm-es5/mds-table-body.entry.js +1 -1
- package/dist/esm-es5/mds-table-footer.entry.js +1 -1
- package/dist/esm-es5/mds-table-header-cell.entry.js +1 -1
- package/dist/esm-es5/mds-table-header.entry.js +1 -1
- package/dist/esm-es5/mds-table-row.entry.js +1 -1
- package/dist/esm-es5/mds-table.entry.js +1 -1
- package/dist/esm-es5/mds-text.entry.js +1 -1
- package/dist/esm-es5/mds-toast.entry.js +1 -1
- package/dist/esm-es5/mds-tooltip.entry.js +1 -1
- package/dist/esm-es5/mds-tree-item.entry.js +1 -1
- package/dist/esm-es5/mds-tree.entry.js +1 -1
- package/dist/esm-es5/mds-url-view.entry.js +1 -1
- package/dist/esm-es5/mds-usage.entry.js +1 -1
- package/dist/esm-es5/mds-video-wall.entry.js +1 -1
- package/dist/esm-es5/mds-zero.entry.js +1 -1
- package/dist/hydrate/index.js +1154 -554
- package/dist/hydrate/index.mjs +1154 -554
- package/dist/magma-components/index.esm.js +1 -0
- package/dist/magma-components/magma-components.esm.js +1 -1
- package/dist/magma-components/{p-1e0826f3.entry.js → p-00313884.entry.js} +1 -1
- package/dist/magma-components/{p-14359b83.entry.js → p-01dc43dd.entry.js} +1 -1
- package/dist/magma-components/{p-423bad63.entry.js → p-01dca5e8.entry.js} +1 -1
- package/dist/magma-components/p-030d45e3.entry.js +1 -0
- package/dist/magma-components/{p-49b8def9.system.entry.js → p-0328a23e.system.entry.js} +1 -1
- package/dist/magma-components/{p-513533d1.entry.js → p-08c6869a.entry.js} +1 -1
- package/dist/magma-components/{p-83f1d211.system.entry.js → p-09de9fc5.system.entry.js} +1 -1
- package/dist/magma-components/{p-a36c6db2.entry.js → p-0acb46c8.entry.js} +1 -1
- package/dist/magma-components/{p-0856948f.system.entry.js → p-0b10ef9f.system.entry.js} +1 -1
- package/dist/magma-components/p-0b11f03b.entry.js +1 -0
- package/dist/magma-components/{p-8b204fe7.system.entry.js → p-0be56202.system.entry.js} +1 -1
- package/dist/magma-components/p-0de58147.entry.js +1 -0
- package/dist/magma-components/{p-2491f1e0.system.entry.js → p-0e481e5c.system.entry.js} +1 -1
- package/dist/magma-components/{p-7e23a883.system.entry.js → p-0f104850.system.entry.js} +1 -1
- package/dist/magma-components/p-1073bf63.entry.js +1 -0
- package/dist/magma-components/p-11490a89.entry.js +1 -0
- package/dist/magma-components/{p-fa6d02de.system.entry.js → p-137b0bbe.system.entry.js} +1 -1
- package/dist/magma-components/{p-5f027f21.entry.js → p-14a98729.entry.js} +1 -1
- package/dist/magma-components/p-14d858f8.system.entry.js +1 -0
- package/dist/magma-components/{p-5011da19.system.entry.js → p-14e918de.system.entry.js} +1 -1
- package/dist/magma-components/p-154ef5b9.entry.js +1 -0
- package/dist/magma-components/p-158af6e3.entry.js +1 -0
- package/dist/magma-components/{p-9f614c7c.system.entry.js → p-17427d8a.system.entry.js} +1 -1
- package/dist/magma-components/p-1805592d.entry.js +1 -0
- package/dist/magma-components/p-18563022.entry.js +1 -0
- package/dist/magma-components/{p-ced050bf.entry.js → p-19f99447.entry.js} +1 -1
- package/dist/magma-components/{p-fd4f6135.system.entry.js → p-1a56d383.system.entry.js} +1 -1
- package/dist/magma-components/{p-cc9db7f3.system.entry.js → p-1bb7895a.system.entry.js} +1 -1
- package/dist/magma-components/{p-13de0c57.system.entry.js → p-1ce791c1.system.entry.js} +1 -1
- package/dist/magma-components/{p-de98e8b6.system.entry.js → p-1da904c3.system.entry.js} +1 -1
- package/dist/magma-components/p-20961bf1.entry.js +1 -0
- package/dist/magma-components/{p-1199b3f5.system.entry.js → p-24a9ed63.system.entry.js} +1 -1
- package/dist/magma-components/{p-39d330ea.entry.js → p-26b131cf.entry.js} +1 -1
- package/dist/magma-components/{p-78fd3283.entry.js → p-28ebb626.entry.js} +1 -1
- package/dist/magma-components/{p-37989a99.system.entry.js → p-292f4566.system.entry.js} +1 -1
- package/dist/magma-components/{p-715f92d4.system.entry.js → p-2a1d3680.system.entry.js} +1 -1
- package/dist/magma-components/{p-17bfde04.system.entry.js → p-2ab75334.system.entry.js} +1 -1
- package/dist/magma-components/{p-79fdb37f.system.entry.js → p-2ccc796b.system.entry.js} +1 -1
- package/dist/magma-components/p-2d9d0887.system.entry.js +1 -0
- package/dist/magma-components/{p-035a9b2c.system.entry.js → p-2df01d02.system.entry.js} +1 -1
- package/dist/magma-components/{p-00980a98.entry.js → p-3145c7eb.entry.js} +1 -1
- package/dist/magma-components/{p-82337997.entry.js → p-34018dfe.entry.js} +1 -1
- package/dist/magma-components/{p-64609a40.system.entry.js → p-35a9f1b4.system.entry.js} +1 -1
- package/dist/magma-components/p-35ec8bbd.entry.js +1 -0
- package/dist/magma-components/{p-93b7d9c7.system.entry.js → p-370f9463.system.entry.js} +1 -1
- package/dist/magma-components/{p-f9691a57.system.entry.js → p-387948c4.system.entry.js} +1 -1
- package/dist/magma-components/{p-663e302d.system.entry.js → p-3aeecbba.system.entry.js} +1 -1
- package/dist/magma-components/{p-7d3a54a4.system.entry.js → p-3af9132f.system.entry.js} +1 -1
- package/dist/magma-components/{p-9061a2b0.system.entry.js → p-3bfd085f.system.entry.js} +1 -1
- package/dist/magma-components/{p-dafa88ad.entry.js → p-3c246a39.entry.js} +1 -1
- package/dist/magma-components/{p-4c8d8c76.entry.js → p-3c2bf79b.entry.js} +1 -1
- package/dist/magma-components/p-3ce52f3c.entry.js +1 -0
- package/dist/magma-components/p-3e5993b4.entry.js +1 -0
- package/dist/magma-components/{p-1680682d.system.entry.js → p-3ef80cd4.system.entry.js} +1 -1
- package/dist/magma-components/{p-cb2f2f0a.entry.js → p-3fc3b8b4.entry.js} +1 -1
- package/dist/magma-components/{p-53cd2333.system.entry.js → p-423955d1.system.entry.js} +1 -1
- package/dist/magma-components/{p-7bca3e2e.system.entry.js → p-42f336df.system.entry.js} +1 -1
- package/dist/magma-components/{p-315da7d0.system.entry.js → p-45a85712.system.entry.js} +1 -1
- package/dist/magma-components/{p-239ab62b.system.entry.js → p-460cd731.system.entry.js} +1 -1
- package/dist/magma-components/{p-ca36fc65.entry.js → p-473f6954.entry.js} +1 -1
- package/dist/magma-components/{p-5eee076f.entry.js → p-47fa0ecf.entry.js} +1 -1
- package/dist/magma-components/{p-2a222f3c.entry.js → p-4b07fe37.entry.js} +1 -1
- package/dist/magma-components/p-4b884441.entry.js +1 -0
- package/dist/magma-components/{p-a69d95b7.entry.js → p-4ba583c9.entry.js} +1 -1
- package/dist/magma-components/{p-769bf50e.entry.js → p-4c08fe3e.entry.js} +1 -1
- package/dist/magma-components/p-4f490917.entry.js +1 -0
- package/dist/magma-components/{p-d4cac1a1.system.entry.js → p-4f98fdba.system.entry.js} +1 -1
- package/dist/magma-components/{p-ee149fc3.system.entry.js → p-50553954.system.entry.js} +1 -1
- package/dist/magma-components/{p-4bdc69b2.entry.js → p-523d4716.entry.js} +1 -1
- package/dist/magma-components/{p-a5451192.system.entry.js → p-52ccfafc.system.entry.js} +1 -1
- package/dist/magma-components/p-52e2f903.entry.js +1 -0
- package/dist/magma-components/{p-8f7d632c.system.entry.js → p-53195d95.system.entry.js} +1 -1
- package/dist/magma-components/{p-f62cf5a9.system.entry.js → p-5488f51f.system.entry.js} +1 -1
- package/dist/magma-components/p-553927f9.system.entry.js +1 -0
- package/dist/magma-components/{p-9eaa277f.entry.js → p-55b4bbba.entry.js} +1 -1
- package/dist/magma-components/{p-1b8b598a.entry.js → p-583f5ffa.entry.js} +1 -1
- package/dist/magma-components/{p-f8dc6a25.entry.js → p-59d65cff.entry.js} +1 -1
- package/dist/magma-components/{p-a1a16873.system.entry.js → p-59f53701.system.entry.js} +1 -1
- package/dist/magma-components/p-5b881091.entry.js +1 -0
- package/dist/magma-components/{p-24b3cc0d.entry.js → p-5c44d208.entry.js} +1 -1
- package/dist/magma-components/{p-fbe46b32.system.entry.js → p-5fdcd8e2.system.entry.js} +1 -1
- package/dist/magma-components/{p-2a134cfe.system.entry.js → p-5fe7b875.system.entry.js} +1 -1
- package/dist/magma-components/{p-aed97a03.system.entry.js → p-614e7f83.system.entry.js} +1 -1
- package/dist/magma-components/{p-f9541d6b.system.entry.js → p-62cf9003.system.entry.js} +1 -1
- package/dist/magma-components/{p-a3c123e2.entry.js → p-63898681.entry.js} +1 -1
- package/dist/magma-components/p-663a510e.entry.js +1 -0
- package/dist/magma-components/{p-851df0fb.entry.js → p-68f57bb1.entry.js} +1 -1
- package/dist/magma-components/{p-0b4684f2.system.entry.js → p-6ae4df92.system.entry.js} +1 -1
- package/dist/magma-components/p-6d268a59.entry.js +1 -0
- package/dist/magma-components/{p-281bc999.system.entry.js → p-7306b02e.system.entry.js} +1 -1
- package/dist/magma-components/{p-e6a3c03b.system.entry.js → p-75011fed.system.entry.js} +1 -1
- package/dist/magma-components/{p-6f89537f.entry.js → p-7595afcf.entry.js} +1 -1
- package/dist/magma-components/p-77e9bd68.entry.js +1 -0
- package/dist/magma-components/p-7d836722.entry.js +1 -0
- package/dist/magma-components/p-7e037cf3.entry.js +8 -0
- package/dist/magma-components/{p-51f00e4f.system.entry.js → p-8106dbfd.system.entry.js} +1 -1
- package/dist/magma-components/{p-80904595.system.entry.js → p-82deeaa0.system.entry.js} +1 -1
- package/dist/magma-components/p-83589b83.entry.js +1 -0
- package/dist/magma-components/{p-bbd19da5.entry.js → p-83721814.entry.js} +1 -1
- package/dist/magma-components/{p-61043767.system.entry.js → p-83de0e53.system.entry.js} +1 -1
- package/dist/magma-components/{p-d480bc64.system.entry.js → p-849760e7.system.entry.js} +1 -1
- package/dist/magma-components/{p-0eec989d.system.entry.js → p-85ac6e54.system.entry.js} +1 -1
- package/dist/magma-components/p-87f8a213.entry.js +1 -0
- package/dist/magma-components/{p-67027e6e.system.entry.js → p-89bf698e.system.entry.js} +1 -1
- package/dist/magma-components/{p-66b6399b.system.entry.js → p-89f96753.system.entry.js} +1 -1
- package/dist/magma-components/p-8b3065b4.entry.js +1 -0
- package/dist/magma-components/{p-a5c774e1.system.entry.js → p-8bec8ad6.system.entry.js} +1 -1
- package/dist/magma-components/{p-c08e2e11.system.entry.js → p-8d76853c.system.entry.js} +1 -1
- package/dist/magma-components/{p-d9635f96.system.entry.js → p-8f1ce3f1.system.entry.js} +1 -1
- package/dist/magma-components/p-9021fa60.entry.js +1 -0
- package/dist/magma-components/{p-701757f6.system.entry.js → p-90b72c1c.system.entry.js} +1 -1
- package/dist/magma-components/{p-7599608a.system.entry.js → p-90d5b6df.system.entry.js} +1 -1
- package/dist/magma-components/p-913372ff.entry.js +1 -0
- package/dist/magma-components/{p-f5dd0163.system.entry.js → p-94093140.system.entry.js} +1 -1
- package/dist/magma-components/{p-03d883fa.system.entry.js → p-944d9b27.system.entry.js} +1 -1
- package/dist/magma-components/{p-922cb36e.entry.js → p-94713401.entry.js} +1 -1
- package/dist/magma-components/{p-dca87306.entry.js → p-956b5ae6.entry.js} +1 -1
- package/dist/magma-components/p-95eae04e.entry.js +1 -0
- package/dist/magma-components/{p-30ecdd0e.entry.js → p-961a2531.entry.js} +1 -1
- package/dist/magma-components/p-9658cb0c.entry.js +1 -0
- package/dist/magma-components/p-96d1a168.entry.js +1 -0
- package/dist/magma-components/p-96f6a646.entry.js +1 -0
- package/dist/magma-components/{p-2df71631.system.entry.js → p-98435b90.system.entry.js} +1 -1
- package/dist/magma-components/p-988b0c7c.entry.js +1 -0
- package/dist/magma-components/{p-14faa91d.system.entry.js → p-98a05642.system.entry.js} +1 -1
- package/dist/magma-components/{p-ba01df62.system.entry.js → p-99f7a1b6.system.entry.js} +1 -1
- package/dist/magma-components/{p-b95ba099.system.entry.js → p-9a1940c1.system.entry.js} +1 -1
- package/dist/magma-components/{p-e4c4824b.system.entry.js → p-9a89bc78.system.entry.js} +1 -1
- package/dist/magma-components/{p-5a96f6a1.system.entry.js → p-9ad586a7.system.entry.js} +1 -1
- package/dist/magma-components/{p-33183e9e.system.entry.js → p-9b52918e.system.entry.js} +1 -1
- package/dist/magma-components/p-DTZViJWJ.system.js +1 -1
- package/dist/magma-components/p-a1af65e8.entry.js +1 -0
- package/dist/magma-components/{p-4813db7c.system.entry.js → p-a5473293.system.entry.js} +1 -1
- package/dist/magma-components/{p-3736ff52.system.entry.js → p-a6caafcb.system.entry.js} +1 -1
- package/dist/magma-components/{p-99e541f0.entry.js → p-a7bd4585.entry.js} +1 -1
- package/dist/magma-components/{p-778a376a.system.entry.js → p-a88fba47.system.entry.js} +1 -1
- package/dist/magma-components/{p-f8be02b6.entry.js → p-a959ade4.entry.js} +1 -1
- package/dist/magma-components/p-aa7d8972.entry.js +1 -0
- package/dist/magma-components/p-aa98652f.entry.js +1 -0
- package/dist/magma-components/{p-d441e8c5.system.entry.js → p-aaeb0ee3.system.entry.js} +1 -1
- package/dist/magma-components/{p-9210f48f.system.entry.js → p-ab89bf5b.system.entry.js} +1 -1
- package/dist/magma-components/{p-195d6b05.entry.js → p-abc720e3.entry.js} +1 -1
- package/dist/magma-components/p-abe87810.entry.js +1 -0
- package/dist/magma-components/{p-77449970.entry.js → p-ac80aca8.entry.js} +1 -1
- package/dist/magma-components/{p-d25df1ff.system.entry.js → p-acb07134.system.entry.js} +1 -1
- package/dist/magma-components/p-acd4f96a.entry.js +1 -0
- package/dist/magma-components/{p-37f4699d.entry.js → p-af49bca2.entry.js} +1 -1
- package/dist/magma-components/{p-dcc5188d.entry.js → p-af670eaf.entry.js} +1 -1
- package/dist/magma-components/{p-a96d10ed.system.entry.js → p-b14a94e0.system.entry.js} +1 -1
- package/dist/magma-components/p-b2bc194a.entry.js +1 -0
- package/dist/magma-components/{p-d44cf903.system.entry.js → p-b2e76c18.system.entry.js} +1 -1
- package/dist/magma-components/{p-1fa503c2.system.entry.js → p-b37dff80.system.entry.js} +1 -1
- package/dist/magma-components/p-b3e3226e.entry.js +1 -0
- package/dist/magma-components/p-b40f1153.entry.js +1 -0
- package/dist/magma-components/p-b4709a95.entry.js +1 -0
- package/dist/magma-components/{p-6cf5f38d.system.entry.js → p-b5db6527.system.entry.js} +1 -1
- package/dist/magma-components/p-b764defa.entry.js +1 -0
- package/dist/magma-components/{p-52253115.system.entry.js → p-b9b2501e.system.entry.js} +1 -1
- package/dist/magma-components/{p-632b1bd2.system.entry.js → p-b9b5bcdd.system.entry.js} +1 -1
- package/dist/magma-components/{p-b826e9cf.system.entry.js → p-ba2a0bc1.system.entry.js} +1 -1
- package/dist/magma-components/p-bb4380cd.entry.js +1 -0
- package/dist/magma-components/{p-07a0d14c.system.entry.js → p-bce3a8b0.system.entry.js} +1 -1
- package/dist/magma-components/{p-21790967.system.entry.js → p-bd2998e6.system.entry.js} +1 -1
- package/dist/magma-components/p-bd3dbc2d.entry.js +1 -0
- package/dist/magma-components/p-bed57abb.entry.js +1 -0
- package/dist/magma-components/{p-21af5302.entry.js → p-bfed0b7a.entry.js} +1 -1
- package/dist/magma-components/{p-c1809ec1.system.entry.js → p-c6177cb9.system.entry.js} +1 -1
- package/dist/magma-components/p-c638556c.entry.js +1 -0
- package/dist/magma-components/{p-8aa8f2e0.entry.js → p-c6fa4a21.entry.js} +1 -1
- package/dist/magma-components/{p-ce1c17ae.system.entry.js → p-c8e99385.system.entry.js} +1 -1
- package/dist/magma-components/{p-be4b1fce.entry.js → p-c9231987.entry.js} +1 -1
- package/dist/magma-components/{p-0a5a2cd7.system.entry.js → p-c9c51ba6.system.entry.js} +1 -1
- package/dist/magma-components/{p-163d0a27.entry.js → p-cc53b30c.entry.js} +1 -1
- package/dist/magma-components/{p-b5077962.entry.js → p-ccc0521c.entry.js} +1 -1
- package/dist/magma-components/{p-788669f0.system.entry.js → p-cd71630e.system.entry.js} +1 -1
- package/dist/magma-components/{p-687f9261.system.entry.js → p-cd879243.system.entry.js} +1 -1
- package/dist/magma-components/{p-ccf7878a.entry.js → p-ce064d47.entry.js} +1 -1
- package/dist/magma-components/{p-e52285f2.system.entry.js → p-d1eea8ca.system.entry.js} +1 -1
- package/dist/magma-components/{p-647ca5e1.system.entry.js → p-d2537229.system.entry.js} +1 -1
- package/dist/magma-components/p-d2617a1a.entry.js +1 -0
- package/dist/magma-components/{p-cf26c62c.system.entry.js → p-d41c4637.system.entry.js} +1 -1
- package/dist/magma-components/{p-b8bb9b2a.entry.js → p-d88f44aa.entry.js} +1 -1
- package/dist/magma-components/{p-ac42ce64.system.entry.js → p-dae9ae8e.system.entry.js} +1 -1
- package/dist/magma-components/{p-81d21afc.entry.js → p-dd860de4.entry.js} +1 -1
- package/dist/magma-components/{p-0271b1f9.system.entry.js → p-df87e2f5.system.entry.js} +1 -1
- package/dist/magma-components/{p-f02b49c5.system.entry.js → p-dfe082be.system.entry.js} +1 -1
- package/dist/magma-components/{p-fcc3ab4c.entry.js → p-e00ba5a0.entry.js} +1 -1
- package/dist/magma-components/{p-b66fe79a.system.entry.js → p-e0d12fa2.system.entry.js} +1 -1
- package/dist/magma-components/{p-003dd017.entry.js → p-e2cd11c3.entry.js} +1 -1
- package/dist/magma-components/{p-0dffa327.system.entry.js → p-e5fb3081.system.entry.js} +1 -1
- package/dist/magma-components/{p-ab63d01d.entry.js → p-e67a6452.entry.js} +1 -1
- package/dist/magma-components/{p-6705b68b.system.entry.js → p-e6d8c9e3.system.entry.js} +1 -1
- package/dist/magma-components/p-e71aecc1.entry.js +1 -0
- package/dist/magma-components/{p-a7b5398f.system.entry.js → p-eac692ea.system.entry.js} +1 -1
- package/dist/magma-components/{p-a8ca0d68.system.entry.js → p-ecf2e98d.system.entry.js} +1 -1
- package/dist/magma-components/{p-7c49ca6c.system.entry.js → p-ed6d1453.system.entry.js} +1 -1
- package/dist/magma-components/p-f289eb5a.entry.js +1 -0
- package/dist/magma-components/{p-33268316.entry.js → p-f3604c99.entry.js} +1 -1
- package/dist/magma-components/{p-e07404ae.entry.js → p-f3dbca34.entry.js} +1 -1
- package/dist/magma-components/{p-38b33737.system.entry.js → p-f4b4bdf2.system.entry.js} +1 -1
- package/dist/magma-components/{p-3b637d6f.entry.js → p-f56d16f7.entry.js} +1 -1
- package/dist/magma-components/{p-91902df2.system.entry.js → p-f8014852.system.entry.js} +1 -1
- package/dist/magma-components/{p-1dea53fc.entry.js → p-f851100d.entry.js} +1 -1
- package/dist/magma-components/{p-5ac8fc7d.entry.js → p-f8d5adce.entry.js} +1 -1
- package/dist/magma-components/{p-a5a87d9b.system.entry.js → p-fa427f75.system.entry.js} +1 -1
- package/dist/magma-components/p-fa6a05b5.entry.js +1 -0
- package/dist/magma-components/{p-e01cb161.entry.js → p-fb8b0104.entry.js} +1 -1
- package/dist/magma-components/{p-73132558.system.entry.js → p-fcf59139.system.entry.js} +1 -1
- package/dist/magma-components/{p-ef82cbb3.system.entry.js → p-fe3d5720.system.entry.js} +1 -1
- package/dist/magma-components/{p-31a78457.system.entry.js → p-fe85ad8e.system.entry.js} +1 -1
- package/dist/magma-components/p-ffae137a.entry.js +1 -0
- package/dist/magma-components/p-oCzRm29V.system.js +1 -0
- package/dist/stats.json +2461 -1671
- package/dist/types/components/mds-accordion/mds-accordion.d.ts +1 -1
- package/dist/types/components/mds-accordion-item/mds-accordion-item.d.ts +1 -1
- package/dist/types/components/mds-accordion-timer/mds-accordion-timer.d.ts +1 -1
- package/dist/types/components/mds-accordion-timer-item/mds-accordion-timer-item.d.ts +1 -1
- package/dist/types/components/mds-author/mds-author.d.ts +1 -1
- package/dist/types/components/mds-avatar-stack/mds-avatar-stack.d.ts +3 -0
- package/dist/types/components/mds-badge/mds-badge.d.ts +1 -1
- package/dist/types/components/mds-banner/mds-banner.d.ts +4 -1
- package/dist/types/components/mds-benchmark-bar/mds-benchmark-bar.d.ts +1 -1
- package/dist/types/components/mds-breadcrumb/mds-breadcrumb.d.ts +4 -1
- package/dist/types/components/mds-button/mds-button.d.ts +1 -1
- package/dist/types/components/mds-button-dropdown/mds-button-dropdown.d.ts +3 -0
- package/dist/types/components/mds-button-group/mds-button-group.d.ts +3 -0
- package/dist/types/components/mds-calendar/mds-calendar.d.ts +75 -8
- package/dist/types/components/mds-card-content/mds-card-content.d.ts +1 -1
- package/dist/types/components/mds-card-footer/mds-card-footer.d.ts +1 -1
- package/dist/types/components/mds-card-header/mds-card-header.d.ts +1 -1
- package/dist/types/components/mds-card-media/mds-card-media.d.ts +1 -1
- package/dist/types/components/mds-chip/mds-chip.d.ts +3 -0
- package/dist/types/components/mds-details/mds-details.d.ts +1 -1
- package/dist/types/components/mds-dropdown/mds-dropdown.d.ts +4 -4
- package/dist/types/components/mds-emoji/mds-emoji.d.ts +7 -0
- package/dist/types/components/mds-entity/mds-entity.d.ts +1 -1
- package/dist/types/components/mds-file/mds-file.d.ts +3 -0
- package/dist/types/components/mds-file-preview/mds-file-preview.d.ts +3 -0
- package/dist/types/components/mds-filter/mds-filter.d.ts +1 -1
- package/dist/types/components/mds-filter-item/mds-filter-item.d.ts +1 -1
- package/dist/types/components/mds-header/mds-header.d.ts +5 -1
- package/dist/types/components/mds-header-bar/mds-header-bar.d.ts +5 -1
- package/dist/types/components/mds-help/mds-help.d.ts +1 -1
- package/dist/types/components/mds-horizontal-scroll/mds-horizontal-scroll.d.ts +1 -1
- package/dist/types/components/mds-icon/services/icons-set.service.d.ts +2 -1
- package/dist/types/components/mds-img/mds-img.d.ts +3 -0
- package/dist/types/components/mds-input/mds-input.d.ts +15 -0
- package/dist/types/components/mds-input-date/mds-input-date.d.ts +19 -1
- package/dist/types/components/mds-input-date-range/mds-input-date-range.d.ts +38 -4
- package/dist/types/components/mds-input-date-range/test/mds-input-date-range.stories.d.ts +12 -0
- package/dist/types/components/mds-input-date-range-preselection/mds-input-date-range-preselection.d.ts +3 -0
- package/dist/types/components/mds-input-field/mds-input-field.d.ts +3 -0
- package/dist/types/components/mds-input-range/mds-input-range.d.ts +2 -1
- package/dist/types/components/mds-input-select/mds-input-select.d.ts +4 -0
- package/dist/types/components/mds-input-switch/mds-input-switch.d.ts +4 -1
- package/dist/types/components/mds-input-tip/mds-input-tip.d.ts +3 -0
- package/dist/types/components/mds-input-tip-item/mds-input-tip-item.d.ts +6 -0
- package/dist/types/components/mds-input-upload/mds-input-upload.d.ts +3 -0
- package/dist/types/components/mds-keyboard/mds-keyboard.d.ts +7 -1
- package/dist/types/components/mds-keyboard-key/mds-keyboard-key.d.ts +3 -0
- package/dist/types/components/mds-kpi/mds-kpi.d.ts +1 -1
- package/dist/types/components/mds-label/mds-label.d.ts +4 -1
- package/dist/types/components/mds-list/mds-list.d.ts +1 -1
- package/dist/types/components/mds-list-item/mds-list-item.d.ts +1 -1
- package/dist/types/components/mds-modal/mds-modal.d.ts +4 -1
- package/dist/types/components/mds-note/mds-note.d.ts +4 -1
- package/dist/types/components/mds-paginator-item/mds-paginator-item.d.ts +2 -2
- package/dist/types/components/mds-policy-ai/mds-policy-ai.d.ts +3 -0
- package/dist/types/components/mds-pref/mds-pref.d.ts +4 -1
- package/dist/types/components/mds-pref-animation/mds-pref-animation.d.ts +3 -0
- package/dist/types/components/mds-pref-consumption/mds-pref-consumption.d.ts +3 -0
- package/dist/types/components/mds-pref-contrast/mds-pref-contrast.d.ts +3 -0
- package/dist/types/components/mds-pref-language/mds-pref-language.d.ts +4 -1
- package/dist/types/components/mds-pref-language-item/mds-pref-language-item.d.ts +3 -0
- package/dist/types/components/mds-pref-theme/mds-pref-theme.d.ts +3 -0
- package/dist/types/components/mds-pref-theme-variant/mds-pref-theme-variant.d.ts +4 -1
- package/dist/types/components/mds-pref-theme-variant-item/mds-pref-theme-variant-item.d.ts +3 -0
- package/dist/types/components/mds-price-table/mds-price-table.d.ts +3 -0
- package/dist/types/components/mds-price-table-features/mds-price-table-features.d.ts +1 -1
- package/dist/types/components/mds-price-table-features-cell/mds-price-table-features-cell.d.ts +1 -1
- package/dist/types/components/mds-price-table-features-row/mds-price-table-features-row.d.ts +1 -1
- package/dist/types/components/mds-price-table-header/mds-price-table-header.d.ts +3 -0
- package/dist/types/components/mds-price-table-list/mds-price-table-list.d.ts +1 -1
- package/dist/types/components/mds-price-table-list-item/mds-price-table-list-item.d.ts +3 -0
- package/dist/types/components/mds-push-notification/mds-push-notification.d.ts +12 -4
- package/dist/types/components/mds-push-notification-item/mds-push-notification-item.d.ts +3 -0
- package/dist/types/components/mds-quote/mds-quote.d.ts +1 -1
- package/dist/types/components/mds-radial-menu/mds-radial-menu.d.ts +3 -0
- package/dist/types/components/mds-radial-menu-item/mds-radial-menu-item.d.ts +3 -0
- package/dist/types/components/mds-status-bar/mds-status-bar.d.ts +4 -1
- package/dist/types/components/mds-stepper-bar/mds-stepper-bar.d.ts +1 -1
- package/dist/types/components/mds-stepper-bar-item/mds-stepper-bar-item.d.ts +3 -0
- package/dist/types/components/mds-tab/mds-tab.d.ts +1 -1
- package/dist/types/components/mds-tab-bar/mds-tab-bar.d.ts +1 -1
- package/dist/types/components/mds-tab-bar-item/mds-tab-bar-item.d.ts +4 -1
- package/dist/types/components/mds-table/mds-table.d.ts +5 -2
- package/dist/types/components/mds-table-body/mds-table-body.d.ts +7 -1
- package/dist/types/components/mds-table-cell/mds-table-cell.d.ts +1 -1
- package/dist/types/components/mds-table-footer/mds-table-footer.d.ts +1 -1
- package/dist/types/components/mds-table-header/mds-table-header.d.ts +12 -1
- package/dist/types/components/mds-table-header-cell/mds-table-header-cell.d.ts +3 -0
- package/dist/types/components/mds-table-row/mds-table-row.d.ts +19 -1
- package/dist/types/components/mds-text/mds-text.d.ts +1 -1
- package/dist/types/components/mds-toast/mds-toast.d.ts +1 -1
- package/dist/types/components/mds-tooltip/mds-tooltip.d.ts +1 -1
- package/dist/types/components/mds-tree/mds-tree.d.ts +1 -1
- package/dist/types/components/mds-tree-item/mds-tree-item.d.ts +10 -1
- package/dist/types/components/mds-url-view/mds-url-view.d.ts +4 -1
- package/dist/types/components/mds-usage/mds-usage.d.ts +4 -1
- package/dist/types/components/mds-video-wall/mds-video-wall.d.ts +1 -1
- package/dist/types/components/mds-zero/mds-zero.d.ts +1 -1
- package/dist/types/components.d.ts +355 -8
- package/dist/types/index.d.ts +15 -0
- package/package.json +7 -1
- package/dist/magma-components/p-00a16156.entry.js +0 -1
- package/dist/magma-components/p-05208700.entry.js +0 -1
- package/dist/magma-components/p-065da3de.entry.js +0 -1
- package/dist/magma-components/p-0b3d7c4a.entry.js +0 -1
- package/dist/magma-components/p-11f0d03d.entry.js +0 -1
- package/dist/magma-components/p-1f61bdf7.entry.js +0 -1
- package/dist/magma-components/p-2035f817.entry.js +0 -1
- package/dist/magma-components/p-20502b9d.entry.js +0 -1
- package/dist/magma-components/p-2821c146.entry.js +0 -1
- package/dist/magma-components/p-2886d6f7.entry.js +0 -1
- package/dist/magma-components/p-2988a6c2.entry.js +0 -1
- package/dist/magma-components/p-2e0ebe5e.entry.js +0 -1
- package/dist/magma-components/p-3063ab9a.entry.js +0 -1
- package/dist/magma-components/p-3298569b.entry.js +0 -1
- package/dist/magma-components/p-37241fed.entry.js +0 -1
- package/dist/magma-components/p-3aadbc52.entry.js +0 -1
- package/dist/magma-components/p-430c41d6.entry.js +0 -1
- package/dist/magma-components/p-470e721b.entry.js +0 -1
- package/dist/magma-components/p-4a1f731e.system.entry.js +0 -1
- package/dist/magma-components/p-4cc70dac.entry.js +0 -1
- package/dist/magma-components/p-52ea2327.system.entry.js +0 -1
- package/dist/magma-components/p-57af1404.entry.js +0 -1
- package/dist/magma-components/p-5dc46946.entry.js +0 -1
- package/dist/magma-components/p-60c18f60.entry.js +0 -1
- package/dist/magma-components/p-62d83191.entry.js +0 -1
- package/dist/magma-components/p-67ab401f.entry.js +0 -1
- package/dist/magma-components/p-6a246ff8.entry.js +0 -1
- package/dist/magma-components/p-771786d1.entry.js +0 -1
- package/dist/magma-components/p-77251a16.entry.js +0 -1
- package/dist/magma-components/p-772d7b99.entry.js +0 -1
- package/dist/magma-components/p-773c04da.entry.js +0 -8
- package/dist/magma-components/p-7a166bc0.entry.js +0 -1
- package/dist/magma-components/p-825ee1e0.entry.js +0 -1
- package/dist/magma-components/p-8b1ff303.entry.js +0 -1
- package/dist/magma-components/p-8c21567b.entry.js +0 -1
- package/dist/magma-components/p-91a85141.entry.js +0 -1
- package/dist/magma-components/p-967a60aa.entry.js +0 -1
- package/dist/magma-components/p-97713e2b.entry.js +0 -1
- package/dist/magma-components/p-9cf753f5.entry.js +0 -1
- package/dist/magma-components/p-9ed636f2.entry.js +0 -1
- package/dist/magma-components/p-9f033f29.entry.js +0 -1
- package/dist/magma-components/p-YWpyar7R.system.js +0 -1
- package/dist/magma-components/p-a7fe6fd8.entry.js +0 -1
- package/dist/magma-components/p-aef79bb1.system.entry.js +0 -1
- package/dist/magma-components/p-b0bb1174.entry.js +0 -1
- package/dist/magma-components/p-b858d00e.entry.js +0 -1
- package/dist/magma-components/p-c179f3ca.entry.js +0 -1
- package/dist/magma-components/p-c4d8fe07.entry.js +0 -1
- package/dist/magma-components/p-c565e99c.entry.js +0 -1
- package/dist/magma-components/p-ca1023cf.entry.js +0 -1
- package/dist/magma-components/p-cb7a85da.entry.js +0 -1
- package/dist/magma-components/p-cfb54ef3.entry.js +0 -1
- package/dist/magma-components/p-ebd37b9e.entry.js +0 -1
- package/dist/magma-components/p-ef4393bf.entry.js +0 -1
- package/dist/magma-components/p-f950a39a.entry.js +0 -1
package/dist/documentation.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2026-06-
|
|
2
|
+
"timestamp": "2026-06-19T18:24:43",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.43.5",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"docsTags": [
|
|
16
16
|
{
|
|
17
17
|
"name": "slot",
|
|
18
|
-
"text": "
|
|
18
|
+
"text": "- Add `mds-accordion-item` element/s."
|
|
19
19
|
}
|
|
20
20
|
],
|
|
21
21
|
"usage": {
|
|
@@ -159,7 +159,7 @@
|
|
|
159
159
|
],
|
|
160
160
|
"slots": [
|
|
161
161
|
{
|
|
162
|
-
"name": "
|
|
162
|
+
"name": "",
|
|
163
163
|
"docs": "Add `mds-accordion-item` element/s."
|
|
164
164
|
}
|
|
165
165
|
],
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
"docsTags": [
|
|
179
179
|
{
|
|
180
180
|
"name": "slot",
|
|
181
|
-
"text": "
|
|
181
|
+
"text": "- Add contents like `text string`, `HTML elements` or `components` to this slot."
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
184
|
"name": "part",
|
|
@@ -419,7 +419,7 @@
|
|
|
419
419
|
],
|
|
420
420
|
"slots": [
|
|
421
421
|
{
|
|
422
|
-
"name": "
|
|
422
|
+
"name": "",
|
|
423
423
|
"docs": "Add contents like `text string`, `HTML elements` or `components` to this slot."
|
|
424
424
|
}
|
|
425
425
|
],
|
|
@@ -457,7 +457,7 @@
|
|
|
457
457
|
"docsTags": [
|
|
458
458
|
{
|
|
459
459
|
"name": "slot",
|
|
460
|
-
"text": "
|
|
460
|
+
"text": "- Add `mds-accordion-timer-item` element/s."
|
|
461
461
|
}
|
|
462
462
|
],
|
|
463
463
|
"usage": {
|
|
@@ -597,7 +597,7 @@
|
|
|
597
597
|
],
|
|
598
598
|
"slots": [
|
|
599
599
|
{
|
|
600
|
-
"name": "
|
|
600
|
+
"name": "",
|
|
601
601
|
"docs": "Add `mds-accordion-timer-item` element/s."
|
|
602
602
|
}
|
|
603
603
|
],
|
|
@@ -616,7 +616,7 @@
|
|
|
616
616
|
"docsTags": [
|
|
617
617
|
{
|
|
618
618
|
"name": "slot",
|
|
619
|
-
"text": "
|
|
619
|
+
"text": "- Add content like `text string`, `HTML elements` or `components` to this slot"
|
|
620
620
|
},
|
|
621
621
|
{
|
|
622
622
|
"name": "part",
|
|
@@ -956,7 +956,7 @@
|
|
|
956
956
|
],
|
|
957
957
|
"slots": [
|
|
958
958
|
{
|
|
959
|
-
"name": "
|
|
959
|
+
"name": "",
|
|
960
960
|
"docs": "Add content like `text string`, `HTML elements` or `components` to this slot"
|
|
961
961
|
}
|
|
962
962
|
],
|
|
@@ -1007,7 +1007,7 @@
|
|
|
1007
1007
|
"docsTags": [
|
|
1008
1008
|
{
|
|
1009
1009
|
"name": "slot",
|
|
1010
|
-
"text": "
|
|
1010
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot. Insert author information, name, role or other useful author infos."
|
|
1011
1011
|
},
|
|
1012
1012
|
{
|
|
1013
1013
|
"name": "slot",
|
|
@@ -1026,12 +1026,12 @@
|
|
|
1026
1026
|
"styles": [],
|
|
1027
1027
|
"slots": [
|
|
1028
1028
|
{
|
|
1029
|
-
"name": "
|
|
1030
|
-
"docs": "Insert
|
|
1029
|
+
"name": "",
|
|
1030
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot. Insert author information, name, role or other useful author infos."
|
|
1031
1031
|
},
|
|
1032
1032
|
{
|
|
1033
|
-
"name": "
|
|
1034
|
-
"docs": "
|
|
1033
|
+
"name": "avatar",
|
|
1034
|
+
"docs": "Insert an avatar image, it is **recommended** to add `mds-avatar` element."
|
|
1035
1035
|
}
|
|
1036
1036
|
],
|
|
1037
1037
|
"parts": [],
|
|
@@ -1399,7 +1399,12 @@
|
|
|
1399
1399
|
"tag": "mds-avatar-stack",
|
|
1400
1400
|
"readme": "# mds-avatar-stack\n\n\n",
|
|
1401
1401
|
"docs": "",
|
|
1402
|
-
"docsTags": [
|
|
1402
|
+
"docsTags": [
|
|
1403
|
+
{
|
|
1404
|
+
"name": "slot",
|
|
1405
|
+
"text": "- Add `mds-avatar-stack-item` elements to display in the stack."
|
|
1406
|
+
}
|
|
1407
|
+
],
|
|
1403
1408
|
"usage": {
|
|
1404
1409
|
"1. Description": "The `<mds-avatar-stack>` web component groups a set of overlapping `<mds-avatar-stack-item>` children into a single horizontal cluster, the Magma Design System pattern for showing the people associated with an entity (assignees, participants, collaborators) in a compact, space-saving row.\n\n#### Semantic Behavior\n\n- **Compound parent**: It is the container half of a compound component; its visible content is the default slot of `<mds-avatar-stack-item>` children, each of which wraps an `<mds-avatar>`.\n- **Size propagation**: `size` drives the dimensions, border, and horizontal overlap of every slotted item, so the whole stack stays visually consistent without sizing each avatar individually.\n- **Overflow counter**: When `total` is set and exceeds the number of slotted children, the stack appends one extra item rendering the remainder (e.g. \"+3\"), so it can represent a larger group than it physically shows.\n- **Static composition**: Children and `total` are resolved at first render; the overflow indicator reflects the markup present then rather than reacting to later DOM changes.\n\n#### Properties & Visual Configurations\n\n- **`size`** selects the avatar scale (`'sm'`, `'md'`, `'lg'`) for the entire stack; pick it to match the surrounding density, since it governs not just avatar diameter but also the overlap offset and ring border between stacked avatars.\n- **`total`** is the logical headcount of the represented group. Set it higher than the number of slotted avatars to surface a trailing count item for the hidden members; leave it unset (or equal to the child count) to show only the avatars in the markup with no counter.\n\nThis component does not use the shared `variant` / `tone` ladders; per-avatar appearance (tone, variant, initials, image source) is configured on each `<mds-avatar-stack-item>` instead.\n",
|
|
1405
1410
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-avatar-stack>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the compound component rules documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Basic Avatar Stack\n\nThe canonical form. Slot one [`<mds-avatar-stack-item>`](../../mds-avatar-stack-item) per person directly inside the stack. Each item wraps an internal avatar; no extra wrapper elements are needed.\n\n```html\n<mds-avatar-stack>\n <mds-avatar-stack-item initials=\"mr\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"ac\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"er\" tone=\"weak\"></mds-avatar-stack-item>\n</mds-avatar-stack>\n```\n\n#### Avatar Stack with Profile Images\n\nUse `src` on each item when real user photos are available. The avatar falls back to `initials` automatically if the image fails to load.\n\n```html\n<mds-avatar-stack>\n <mds-avatar-stack-item\n src=\"/avatars/mario-rossi.jpg\"\n initials=\"mr\"\n tone=\"weak\"\n ></mds-avatar-stack-item>\n <mds-avatar-stack-item\n src=\"/avatars/anna-conti.jpg\"\n initials=\"ac\"\n tone=\"weak\"\n ></mds-avatar-stack-item>\n <mds-avatar-stack-item\n src=\"/avatars/elena-ricci.jpg\"\n initials=\"er\"\n tone=\"weak\"\n ></mds-avatar-stack-item>\n</mds-avatar-stack>\n```\n\n#### Sizing the Stack\n\nUse the `size` prop on the parent to scale the whole stack at once. Do not set individual sizes on the items - the parent drives dimensions, overlap, and border for all children.\n\n```html\n<!-- Small - compact lists, comment threads -->\n<mds-avatar-stack size=\"sm\">\n <mds-avatar-stack-item initials=\"mr\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"ac\" tone=\"weak\"></mds-avatar-stack-item>\n</mds-avatar-stack>\n\n<!-- Medium (default) -->\n<mds-avatar-stack size=\"md\">\n <mds-avatar-stack-item initials=\"mr\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"ac\" tone=\"weak\"></mds-avatar-stack-item>\n</mds-avatar-stack>\n\n<!-- Large - hero areas, team pages -->\n<mds-avatar-stack size=\"lg\">\n <mds-avatar-stack-item initials=\"mr\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"ac\" tone=\"weak\"></mds-avatar-stack-item>\n</mds-avatar-stack>\n```\n\n#### Overflow Counter via `total`\n\nWhen the represented group is larger than the number of visible avatars, set `total` to the real headcount. The component automatically appends a trailing \"+N\" badge for the hidden members.\n\n```html\n<!-- 5 visible avatars out of a team of 12: shows \"+7\" badge -->\n<mds-avatar-stack total=\"12\">\n <mds-avatar-stack-item initials=\"mr\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"ac\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"er\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"mt\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"jb\" tone=\"weak\"></mds-avatar-stack-item>\n</mds-avatar-stack>\n```\n\n#### Per-Item Variant Colors\n\nEach [`<mds-avatar-stack-item>`](../../mds-avatar-stack-item) accepts its own `variant` to visually distinguish users when initials alone are not enough. `tone` accepts `strong` or `weak` (default).\n\n```html\n<mds-avatar-stack>\n <mds-avatar-stack-item initials=\"mr\" variant=\"primary\" tone=\"strong\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"ac\" variant=\"success\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"er\" variant=\"warning\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"mt\" variant=\"info\" tone=\"weak\"></mds-avatar-stack-item>\n</mds-avatar-stack>\n```\n\n#### Size and Overflow Combined\n\nCombine `size` and `total` to produce a large, labelled stack for team-overview sections.\n\n```html\n<mds-avatar-stack size=\"lg\" total=\"25\">\n <mds-avatar-stack-item initials=\"mr\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"ac\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"er\" tone=\"weak\"></mds-avatar-stack-item>\n <mds-avatar-stack-item initials=\"mt\" tone=\"weak\"></mds-avatar-stack-item>\n</mds-avatar-stack>\n```\n\n#### Styling Customization\n\nStyle the stack only through its documented `--mds-avatar-stack-*` CSS custom properties. Set them on the host or a parent selector; use Magma color tokens via `rgb(var(--<token>))` so dark mode keeps working.\n\n```css\n/* Custom ring color and overlap for a card-hero section */\n.team-hero mds-avatar-stack {\n --mds-avatar-stack-background: rgb(var(--variant-secondary-01));\n --mds-avatar-stack-count-background-color: rgb(var(--tone-neutral-08));\n --mds-avatar-stack-count-color: rgb(var(--tone-neutral-02));\n --mds-avatar-stack-lg-offset: 2.5;\n}\n```\n",
|
|
@@ -1540,7 +1545,12 @@
|
|
|
1540
1545
|
"docs": "Size of small avatars in the stack"
|
|
1541
1546
|
}
|
|
1542
1547
|
],
|
|
1543
|
-
"slots": [
|
|
1548
|
+
"slots": [
|
|
1549
|
+
{
|
|
1550
|
+
"name": "",
|
|
1551
|
+
"docs": "Add `mds-avatar-stack-item` elements to display in the stack."
|
|
1552
|
+
}
|
|
1553
|
+
],
|
|
1544
1554
|
"parts": [],
|
|
1545
1555
|
"states": [],
|
|
1546
1556
|
"dependents": [],
|
|
@@ -1930,7 +1940,7 @@
|
|
|
1930
1940
|
"docsTags": [
|
|
1931
1941
|
{
|
|
1932
1942
|
"name": "slot",
|
|
1933
|
-
"text": "
|
|
1943
|
+
"text": "- **Deprecated**, use the `label` property instead. Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
1934
1944
|
}
|
|
1935
1945
|
],
|
|
1936
1946
|
"usage": {
|
|
@@ -2195,7 +2205,7 @@
|
|
|
2195
2205
|
],
|
|
2196
2206
|
"slots": [
|
|
2197
2207
|
{
|
|
2198
|
-
"name": "
|
|
2208
|
+
"name": "",
|
|
2199
2209
|
"docs": "**Deprecated**, use the `label` property instead. Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
2200
2210
|
}
|
|
2201
2211
|
],
|
|
@@ -2237,7 +2247,7 @@
|
|
|
2237
2247
|
"docsTags": [
|
|
2238
2248
|
{
|
|
2239
2249
|
"name": "slot",
|
|
2240
|
-
"text": "
|
|
2250
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
2241
2251
|
},
|
|
2242
2252
|
{
|
|
2243
2253
|
"name": "slot",
|
|
@@ -2501,7 +2511,7 @@
|
|
|
2501
2511
|
},
|
|
2502
2512
|
"signature": "updateLang() => Promise<void>",
|
|
2503
2513
|
"parameters": [],
|
|
2504
|
-
"docs": "",
|
|
2514
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
2505
2515
|
"docsTags": []
|
|
2506
2516
|
}
|
|
2507
2517
|
],
|
|
@@ -2586,12 +2596,12 @@
|
|
|
2586
2596
|
],
|
|
2587
2597
|
"slots": [
|
|
2588
2598
|
{
|
|
2589
|
-
"name": "
|
|
2590
|
-
"docs": "Add `HTML elements` or `components
|
|
2599
|
+
"name": "",
|
|
2600
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
2591
2601
|
},
|
|
2592
2602
|
{
|
|
2593
|
-
"name": "
|
|
2594
|
-
"docs": "Add `
|
|
2603
|
+
"name": "action",
|
|
2604
|
+
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
2595
2605
|
}
|
|
2596
2606
|
],
|
|
2597
2607
|
"parts": [
|
|
@@ -2634,7 +2644,7 @@
|
|
|
2634
2644
|
"docsTags": [
|
|
2635
2645
|
{
|
|
2636
2646
|
"name": "slot",
|
|
2637
|
-
"text": "
|
|
2647
|
+
"text": "- **Deprecated**, use the `label` property instead. Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
2638
2648
|
},
|
|
2639
2649
|
{
|
|
2640
2650
|
"name": "part",
|
|
@@ -2899,7 +2909,7 @@
|
|
|
2899
2909
|
"styles": [],
|
|
2900
2910
|
"slots": [
|
|
2901
2911
|
{
|
|
2902
|
-
"name": "
|
|
2912
|
+
"name": "",
|
|
2903
2913
|
"docs": "**Deprecated**, use the `label` property instead. Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
2904
2914
|
}
|
|
2905
2915
|
],
|
|
@@ -3336,7 +3346,7 @@
|
|
|
3336
3346
|
"docsTags": [
|
|
3337
3347
|
{
|
|
3338
3348
|
"name": "slot",
|
|
3339
|
-
"text": "
|
|
3349
|
+
"text": "- Add `mds-breadcrumb-item` element/s."
|
|
3340
3350
|
}
|
|
3341
3351
|
],
|
|
3342
3352
|
"usage": {
|
|
@@ -3398,7 +3408,7 @@
|
|
|
3398
3408
|
},
|
|
3399
3409
|
"signature": "updateLang() => Promise<void>",
|
|
3400
3410
|
"parameters": [],
|
|
3401
|
-
"docs": "",
|
|
3411
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
3402
3412
|
"docsTags": []
|
|
3403
3413
|
}
|
|
3404
3414
|
],
|
|
@@ -3486,7 +3496,7 @@
|
|
|
3486
3496
|
],
|
|
3487
3497
|
"slots": [
|
|
3488
3498
|
{
|
|
3489
|
-
"name": "
|
|
3499
|
+
"name": "",
|
|
3490
3500
|
"docs": "Add `mds-breadcrumb-item` element/s."
|
|
3491
3501
|
}
|
|
3492
3502
|
],
|
|
@@ -3687,7 +3697,7 @@
|
|
|
3687
3697
|
"docsTags": [
|
|
3688
3698
|
{
|
|
3689
3699
|
"name": "slot",
|
|
3690
|
-
"text": "
|
|
3700
|
+
"text": "- Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
3691
3701
|
},
|
|
3692
3702
|
{
|
|
3693
3703
|
"name": "slot",
|
|
@@ -4377,7 +4387,7 @@
|
|
|
4377
4387
|
],
|
|
4378
4388
|
"slots": [
|
|
4379
4389
|
{
|
|
4380
|
-
"name": "
|
|
4390
|
+
"name": "",
|
|
4381
4391
|
"docs": "Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
4382
4392
|
},
|
|
4383
4393
|
{
|
|
@@ -4545,7 +4555,12 @@
|
|
|
4545
4555
|
"tag": "mds-button-dropdown",
|
|
4546
4556
|
"readme": "# mds-button-dropdown\n\n\n",
|
|
4547
4557
|
"docs": "",
|
|
4548
|
-
"docsTags": [
|
|
4558
|
+
"docsTags": [
|
|
4559
|
+
{
|
|
4560
|
+
"name": "slot",
|
|
4561
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
4562
|
+
}
|
|
4563
|
+
],
|
|
4549
4564
|
"usage": {
|
|
4550
4565
|
"1. Description": "The `<mds-button-dropdown>` web component is a split-button control of the Magma Design System: it pairs a primary `<mds-button>` action with a secondary chevron button that opens an attached `<mds-dropdown>`, giving users a default action plus a menu of related choices in a single, visually unified control.\n\n#### Semantic Behavior\n\n- **Default slot is the menu**: Whatever you place in the default slot becomes the dropdown panel content; it is not treated as the button label (the visible label comes from the `label` prop).\n- **Chevron trigger**: The second button is icon-only (chevron) and toggles the dropdown.\n- **Shared configuration**: `active`, `autoFocus`, `await`, `disabled`, `href`, `target`, `size`, `tone`, `type` and `variant` are forwarded identically to both internal buttons, so the two halves always stay visually and behaviorally in sync.\n- **Disabled / await states**: Because these flags pass through to both buttons, disabling or putting the control in an awaiting state affects the action and the trigger together.\n- **Dropdown part**: The internal dropdown is exposed as the `dropdown` shadow part for external styling of the menu surface.\n\n#### Properties & Visual Configurations\n\nThe shared `variant` / `tone` / `size` ladders are defined in [`projects/stencil/SPEC.md`](../../../../SPEC.md#tone-and-variant-system); they apply here exactly as in `<mds-button>` and are forwarded to both internal buttons. `variant` defaults to `'primary'`, `tone` defaults to `'strong'`, and `size` defaults to `'md'`.\n\n- **`label`** sets the text of the primary action button only; the chevron trigger is icon-only.\n- **`type`** defaults to `'submit'`, so inside a `<form>` the primary button submits unless set to `'button'`; switching to `'a'` (or supplying `href`) turns the buttons into links, with `target` choosing `'self'` vs `'blank'`.\n\n#### Other behavioral props\n\n- **`icon`** is an SVG filename slug from the Magma icon library, applied to the primary action button (the chevron icon on the trigger is fixed and not configurable).\n- **`truncate`** controls how an overflowing primary label is clipped, defaulting to `'word'`.\n",
|
|
4551
4566
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-button-dropdown>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the variant / tone ladders documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Basic Split Button with Menu Items\n\nThe canonical form: a `label` prop for the primary action and one or more [`mds-button`](../../mds-button) elements in the default slot as menu choices. Slot items receive `variant=\"dark\" tone=\"text\"` to stay visually neutral inside the dropdown panel.\n\n```html\n<mds-button-dropdown label=\"Salva come bozza\" variant=\"success\" tone=\"weak\">\n <mds-button icon=\"mi/baseline/send\" variant=\"dark\" tone=\"text\" label=\"Invia subito\"></mds-button>\n <mds-button icon=\"mi/baseline/delete\" variant=\"dark\" tone=\"text\" label=\"Elimina\"></mds-button>\n</mds-button-dropdown>\n```\n\n#### Variant and Tone for Emphasis\n\nUse `variant` to express meaning and `tone` to express weight - the same pair applies to both internal buttons automatically.\n\n```html\n<!-- High emphasis: primary action -->\n<mds-button-dropdown label=\"Pubblica\" variant=\"primary\" tone=\"strong\">\n <mds-button variant=\"dark\" tone=\"text\" label=\"Pubblica come bozza\"></mds-button>\n <mds-button variant=\"dark\" tone=\"text\" label=\"Pianifica pubblicazione\"></mds-button>\n</mds-button-dropdown>\n\n<!-- Status emphasis: destructive action group -->\n<mds-button-dropdown label=\"Elimina voce\" variant=\"error\" tone=\"weak\">\n <mds-button variant=\"dark\" tone=\"text\" label=\"Elimina e archivia\"></mds-button>\n <mds-button variant=\"dark\" tone=\"text\" label=\"Annulla eliminazione\"></mds-button>\n</mds-button-dropdown>\n```\n\n#### Sizing\n\nUse the `size` prop. Both internal buttons track it automatically.\n\n```html\n<mds-button-dropdown label=\"Azione\" size=\"sm\" variant=\"primary\" tone=\"strong\">\n <mds-button variant=\"dark\" tone=\"text\" label=\"Opzione A\"></mds-button>\n</mds-button-dropdown>\n\n<mds-button-dropdown label=\"Azione\" size=\"md\" variant=\"primary\" tone=\"strong\">\n <mds-button variant=\"dark\" tone=\"text\" label=\"Opzione A\"></mds-button>\n</mds-button-dropdown>\n\n<mds-button-dropdown label=\"Azione\" size=\"lg\" variant=\"primary\" tone=\"strong\">\n <mds-button variant=\"dark\" tone=\"text\" label=\"Opzione A\"></mds-button>\n</mds-button-dropdown>\n\n<mds-button-dropdown label=\"Azione\" size=\"xl\" variant=\"primary\" tone=\"strong\">\n <mds-button variant=\"dark\" tone=\"text\" label=\"Opzione A\"></mds-button>\n</mds-button-dropdown>\n```\n\n#### Primary Action with an Icon\n\nSupply the `icon` prop to add an icon to the primary action button. The chevron trigger icon is fixed and not configurable.\n\n```html\n<mds-button-dropdown\n label=\"Carica documento\"\n icon=\"mi/baseline/upload\"\n variant=\"secondary\"\n tone=\"weak\"\n>\n <mds-button variant=\"dark\" tone=\"text\" label=\"Carica da URL\"></mds-button>\n <mds-button variant=\"dark\" tone=\"text\" label=\"Carica da Drive\"></mds-button>\n</mds-button-dropdown>\n```\n\n#### Async Loading via `await`\n\nSet the `await` boolean attribute while a request is in flight. Both the action button and the chevron trigger become unavailable simultaneously. Remove the attribute when done - do not set `await=\"false\"`.\n\n```html\n<mds-button-dropdown label=\"Salvataggio in corso...\" await variant=\"primary\" tone=\"strong\">\n <mds-button variant=\"dark\" tone=\"text\" label=\"Salva e chiudi\"></mds-button>\n <mds-button variant=\"dark\" tone=\"text\" label=\"Salva come copia\"></mds-button>\n</mds-button-dropdown>\n```\n\n#### Disabled State\n\nThe `disabled` attribute blocks both halves of the control together.\n\n```html\n<mds-button-dropdown label=\"Invia richiesta\" disabled variant=\"primary\" tone=\"strong\">\n <mds-button variant=\"dark\" tone=\"text\" label=\"Invia in bozza\"></mds-button>\n</mds-button-dropdown>\n```\n\n#### Hyperlink Split Button via `href`\n\nSetting `href` switches both internal buttons to anchor semantics. Use `target=\"blank\"` to open in a new tab.\n\n```html\n<mds-button-dropdown\n label=\"Apri documento\"\n href=\"https://example.com/doc\"\n target=\"blank\"\n variant=\"secondary\"\n tone=\"outline\"\n>\n <mds-button href=\"https://example.com/doc/edit\" target=\"blank\" variant=\"dark\" tone=\"text\" label=\"Modifica\"></mds-button>\n <mds-button href=\"https://example.com/doc/history\" target=\"blank\" variant=\"dark\" tone=\"text\" label=\"Cronologia\"></mds-button>\n</mds-button-dropdown>\n```\n\n#### Styling Customization\n\nStyle the component through its documented `--mds-button-dropdown-*` CSS custom properties or the `dropdown` shadow part. Use Magma color tokens via `rgb(var(--<token>))` so dark mode keeps working.\n\n```css\n.custom-toolbar mds-button-dropdown {\n --mds-button-dropdown-radius: var(--radius-md);\n --mds-button-dropdown-window-radius: var(--radius-lg);\n}\n\n/* Style the dropdown panel surface through the documented shadow part */\n.custom-toolbar mds-button-dropdown::part(dropdown) {\n box-shadow: var(--shadow-lg);\n}\n```\n",
|
|
@@ -5042,7 +5057,12 @@
|
|
|
5042
5057
|
"docs": "Sets the border-radius of the component"
|
|
5043
5058
|
}
|
|
5044
5059
|
],
|
|
5045
|
-
"slots": [
|
|
5060
|
+
"slots": [
|
|
5061
|
+
{
|
|
5062
|
+
"name": "",
|
|
5063
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
5064
|
+
}
|
|
5065
|
+
],
|
|
5046
5066
|
"parts": [
|
|
5047
5067
|
{
|
|
5048
5068
|
"name": "dropdown",
|
|
@@ -5073,7 +5093,12 @@
|
|
|
5073
5093
|
"tag": "mds-button-group",
|
|
5074
5094
|
"readme": "# mds-button-group\n\n\n",
|
|
5075
5095
|
"docs": "",
|
|
5076
|
-
"docsTags": [
|
|
5096
|
+
"docsTags": [
|
|
5097
|
+
{
|
|
5098
|
+
"name": "slot",
|
|
5099
|
+
"text": "- Add `mds-button` elements to this slot."
|
|
5100
|
+
}
|
|
5101
|
+
],
|
|
5077
5102
|
"usage": {
|
|
5078
5103
|
"1. Description": "The `<mds-button-group>` web component is a layout container of the Magma Design System that clusters related `<mds-button>` controls into a single, evenly-spaced horizontal group such as toolbars, action bars, or segmented sets of actions. It is a presentation-only wrapper with no props, events, or state - its sole job is to arrange its slotted children consistently.\n\n#### Semantic Behavior\n\n- **Default slot is content**: Whatever buttons (or button-like controls) you place inside are projected as-is, in source order.\n- **Inline layout**: The group shrinks to fit its content with consistent spacing and stays inline with surrounding elements rather than spanning the full row width.\n- **No own semantics**: It exposes no role, ARIA attributes, form association, focus management, or keyboard handling of its own - accessibility and interaction live entirely in the slotted children. It is purely a visual grouping primitive.\n\n#### Properties & Visual Configurations\n\nThis component has no configurable properties. Visual outcome is determined entirely by the slotted children - typically a set of `<mds-button>` elements sharing a common `variant` / `tone` (see the shared ladder in [`projects/stencil/SPEC.md`](../../../../SPEC.md#tone-and-variant-system)) so the group reads as a cohesive cluster of actions.\n",
|
|
5079
5104
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-button-group>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the variant / tone ladders documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Toolbar of Icon-Only Actions\n\nThe primary use case. Group icon-only `<mds-button>` elements that act on the same target - a text selection, a table row, or an editor surface. Each button must carry an explicit `aria-label` because no visible label is present.\n\n```html\n<mds-button-group>\n <mds-button icon=\"mi/baseline/format-bold\" aria-label=\"Grassetto\" variant=\"dark\" tone=\"text\"></mds-button>\n <mds-button icon=\"mi/baseline/format-italic\" aria-label=\"Corsivo\" variant=\"dark\" tone=\"text\"></mds-button>\n <mds-button icon=\"mi/baseline/format-underlined\" aria-label=\"Sottolineato\" variant=\"dark\" tone=\"text\"></mds-button>\n</mds-button-group>\n```\n\n#### Segmented Set of Labelled Actions\n\nUse labelled buttons when the actions benefit from visible text - for example a primary / secondary / destructive trio at the bottom of a form section.\n\n```html\n<mds-button-group>\n <mds-button label=\"Salva\" variant=\"primary\" tone=\"strong\"></mds-button>\n <mds-button label=\"Annulla\" variant=\"dark\" tone=\"outline\"></mds-button>\n</mds-button-group>\n```\n\n#### Mixed Emphasis Within a Group\n\nPair a high-emphasis primary button with lower-emphasis supporting actions. Keep the same `variant` family and vary only the `tone` so the group reads as a cohesive cluster, not a random set of buttons.\n\n```html\n<mds-button-group>\n <mds-button label=\"Pubblica\" variant=\"primary\" tone=\"strong\"></mds-button>\n <mds-button label=\"Salva come bozza\" variant=\"primary\" tone=\"outline\"></mds-button>\n <mds-button label=\"Elimina\" variant=\"error\" tone=\"text\"></mds-button>\n</mds-button-group>\n```\n\n#### Inside a Toolbar or Action Bar\n\n`<mds-button-group>` is `inline-flex` by default, so multiple groups sit naturally beside other inline controls in a toolbar without extra CSS.\n\n```html\n<div class=\"toolbar\">\n <mds-button-group>\n <mds-button icon=\"mi/baseline/undo\" aria-label=\"Annulla\" variant=\"dark\" tone=\"text\"></mds-button>\n <mds-button icon=\"mi/baseline/redo\" aria-label=\"Ripristina\" variant=\"dark\" tone=\"text\"></mds-button>\n </mds-button-group>\n\n <mds-button-group>\n <mds-button icon=\"mi/baseline/format-bold\" aria-label=\"Grassetto\" variant=\"dark\" tone=\"text\"></mds-button>\n <mds-button icon=\"mi/baseline/format-italic\" aria-label=\"Corsivo\" variant=\"dark\" tone=\"text\"></mds-button>\n <mds-button icon=\"mi/baseline/format-underlined\" aria-label=\"Sottolineato\" variant=\"dark\" tone=\"text\"></mds-button>\n </mds-button-group>\n</div>\n```\n\n#### Including a `<mds-button-dropdown>` in the Group\n\nThe default slot accepts any `<mds-button>` or `<mds-button-dropdown>` sibling component. Place the dropdown last or first depending on visual priority.\n\n```html\n<mds-button-group>\n <mds-button label=\"Esporta CSV\" variant=\"secondary\" tone=\"outline\"></mds-button>\n <mds-button-dropdown label=\"Altre opzioni\" variant=\"secondary\" tone=\"outline\">\n <mds-list>\n <mds-list-item label=\"Esporta PDF\"></mds-list-item>\n <mds-list-item label=\"Esporta Excel\"></mds-list-item>\n </mds-list>\n </mds-button-dropdown>\n</mds-button-group>\n```\n\n#### Disabled Buttons Inside a Group\n\nDisable individual buttons with the `disabled` boolean attribute. Never use `disabled=\"false\"` - remove the attribute to re-enable. The group itself has no `disabled` prop.\n\n```html\n<mds-button-group>\n <mds-button label=\"Approva\" variant=\"success\" tone=\"strong\"></mds-button>\n <mds-button label=\"Rifiuta\" variant=\"error\" tone=\"outline\" disabled></mds-button>\n</mds-button-group>\n```\n",
|
|
@@ -5084,7 +5109,12 @@
|
|
|
5084
5109
|
"events": [],
|
|
5085
5110
|
"listeners": [],
|
|
5086
5111
|
"styles": [],
|
|
5087
|
-
"slots": [
|
|
5112
|
+
"slots": [
|
|
5113
|
+
{
|
|
5114
|
+
"name": "",
|
|
5115
|
+
"docs": "Add `mds-button` elements to this slot."
|
|
5116
|
+
}
|
|
5117
|
+
],
|
|
5088
5118
|
"parts": [],
|
|
5089
5119
|
"states": [],
|
|
5090
5120
|
"dependents": [],
|
|
@@ -5097,13 +5127,47 @@
|
|
|
5097
5127
|
"tag": "mds-calendar",
|
|
5098
5128
|
"readme": "# mds-calendar\n\n\n",
|
|
5099
5129
|
"docs": "",
|
|
5100
|
-
"docsTags": [
|
|
5130
|
+
"docsTags": [
|
|
5131
|
+
{
|
|
5132
|
+
"name": "slot",
|
|
5133
|
+
"text": "preselection - Add `HTML elements` or `components` shown in the calendar preselection area."
|
|
5134
|
+
}
|
|
5135
|
+
],
|
|
5101
5136
|
"usage": {
|
|
5102
5137
|
"1. Description": "The `<mds-calendar>` web component is the date-selection surface of the Magma Design System: a localized month grid that lets users pick either a single day or a date range. It is the visual engine behind `mds-input-date` and `mds-input-date-range`.\n\n#### Semantic Behavior\n\n- **Range vs. single mode**: `rangePicker` defaults to `true`. In range mode the first click sets the start, the second sets the end, and a third click resets the selection; in single mode each click replaces the prior choice.\n- **Range auto-ordering**: If the second click lands before the current start, the two endpoints are swapped so `startDate` always precedes `endDate`; setting an `endDate` earlier than `startDate` is rejected with a console warning.\n- **Hover preview**: While a range start is set, hovering over cells previews the candidate range live (range mode only).\n- **Min/max bounds**: `min` and `max` mark out-of-range day cells as disabled, blocking their selection.\n- **Multi-view navigation**: The header toggles between the day grid, a month picker, and a year picker; the year view pages in decades while the calendar view pages month by month.\n- **Localization**: Weekday names, month names, and cell titles are formatted from the host's resolved locale (`it`, `en`, `es`, `el`).\n- **Emitted events**: `mdsCalendarChange` fires with `{ startDate, endDate? }` once a selection is complete; `mdsCalendarPreselect` fires alongside it to let preselection chips re-evaluate their state.\n- **Preselection slot**: A `preselection` named slot hosts quick-pick shortcuts.\n\n#### Properties & Visual Configurations\n\nDates are exchanged as ISO 8601 strings (`YYYY-MM-DD`). `startDate` and `endDate` seed and reflect the current selection; on load, a valid `startDate` also determines which month is shown first.\n\n- **`rangePicker`** is the mode switch: leave it `true` for two-ended range selection, set it `false` for single-day pickers. When `false`, any `endDate` is ignored and cleared with a warning.\n- **`min`** / **`max`** define the selectable window; days outside it render disabled rather than being hidden.\n\nThis component does not use the shared `variant` / `tone` ladders on its host - those are defined in [`projects/stencil/SPEC.md`](../../../../SPEC.md#tone-and-variant-system) and are applied internally to the navigation buttons it renders.\n",
|
|
5103
5138
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-calendar>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the variant / tone ladders documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Single-Day Picker\n\nDisable range mode with `range-picker=\"false\"` for a plain single-date selector. `mdsCalendarChange` fires once with `{ startDate }` and no `endDate`. Seed an initial date via `start-date`.\n\n```html\n<mds-calendar range-picker=\"false\" start-date=\"2025-06-10\"></mds-calendar>\n\n<script>\n document.querySelector('mds-calendar').addEventListener('mdsCalendarChange', (e) => {\n console.log('Data selezionata:', e.detail.startDate);\n });\n</script>\n```\n\n#### Range Picker (default mode)\n\n`range-picker` defaults to `true`. The first click sets the start date, the second sets the end date. A third click resets the selection. Preload a range by supplying both `start-date` and `end-date`.\n\n```html\n<mds-calendar start-date=\"2025-09-01\" end-date=\"2025-09-15\"></mds-calendar>\n\n<script>\n document.querySelector('mds-calendar').addEventListener('mdsCalendarChange', (e) => {\n const { startDate, endDate } = e.detail;\n console.log('Intervallo selezionato:', startDate, '-', endDate);\n });\n</script>\n```\n\n#### Restricting the Selectable Window with `min` / `max`\n\nPass ISO 8601 strings to `min` and `max` to mark out-of-range days as disabled. Days outside the window are not hidden - they remain visible but cannot be clicked.\n\n```html\n<mds-calendar\n range-picker=\"false\"\n min=\"2025-01-01\"\n max=\"2025-12-31\"\n></mds-calendar>\n```\n\n#### Navigating to a Specific Month Programmatically\n\nUse the `updateCurrentDate` method to jump the visible month without changing the current selection. Pass any ISO date string that falls within the target month.\n\n```html\n<mds-calendar id=\"cal\" range-picker=\"false\"></mds-calendar>\n\n<script>\n document.querySelector('#cal').updateCurrentDate('2026-03-01');\n</script>\n```\n\n#### Quick-Pick Preselection Shortcuts\n\nThe `preselection` named slot accepts shortcut components such as [`mds-input-date-range-preselection`](../../mds-input-date-range-preselection). When at least one child with the class `date-preselection--has-preselection` is present, the slot panel becomes visible automatically. `mdsCalendarPreselect` fires after each range selection so preselection chips can re-evaluate their active state.\n\n```html\n<mds-calendar start-date=\"2025-09-01\" end-date=\"2025-09-07\">\n <mds-input-date-range-preselection\n slot=\"preselection\"\n ></mds-input-date-range-preselection>\n</mds-calendar>\n```\n\n#### Listening for Selection Changes\n\nListen on the documented `mdsCalendarChange` event - not the native `change` event - so the handler receives the structured `{ startDate, endDate? }` detail object directly from the Shadow DOM.\n\n```html\n<mds-calendar id=\"picker\" range-picker=\"false\"></mds-calendar>\n\n<script>\n document.querySelector('#picker').addEventListener('mdsCalendarChange', (e) => {\n const { startDate } = e.detail;\n document.querySelector('#output').textContent = 'Scadenza: ' + startDate;\n });\n</script>\n```\n\n#### Embedded inside `mds-input-date` or `mds-input-date-range`\n\n`<mds-calendar>` is the visual engine used internally by [`mds-input-date`](../../mds-input-date) and [`mds-input-date-range`](../../mds-input-date-range). In most product surfaces, reach for those higher-level components. Use `<mds-calendar>` directly only when you need a standalone always-visible date grid without an associated text input.\n\n```html\n<!-- Higher-level: input with calendar overlay -->\n<mds-input-date name=\"scadenza\" label=\"Scadenza\"></mds-input-date>\n\n<!-- Lower-level: always-visible standalone grid -->\n<mds-calendar range-picker=\"false\"></mds-calendar>\n```\n\n#### Styling Customization via CSS Custom Properties\n\nAdjust the calendar appearance only through the documented `--mds-calendar-*` CSS custom properties. Set them on the host element or a parent selector; use Magma color tokens so dark mode and high-contrast modes keep working.\n\n```css\n.booking-widget mds-calendar {\n --mds-calendar-background: rgb(var(--tone-neutral-09));\n --mds-calendar-border-radius: var(--radius-xl);\n --mds-calendar-padding: var(--spacing-500);\n --mds-calendar-cell-gap: var(--gap-100);\n --mds-calendar-day-number-color: rgb(var(--tone-neutral-02));\n --mds-calendar-cell-other-month-visibility: hidden;\n}\n```\n",
|
|
5104
5139
|
"3. Antipattern": "Common incorrect uses of `<mds-calendar>`. Each entry pairs the wrong form with the right one and a one-line reason. System-wide rules (boolean-as-string, shadow piercing, Tailwind color utilities, raw native event listening) live in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md#system-level-anti-patterns) - they apply here too but are not repeated.\n\n#### Do Not Disable Range Mode with `range-picker=\"false\"` as a Quoted String\n\n`rangePicker` is a boolean prop. In HTML any non-empty attribute value is truthy, so `range-picker=\"false\"` does not turn off range mode - it keeps it on. Remove the attribute to use the default `true`, or omit the quoted value and use just the bare attribute for `true`. For `false`, remove the attribute entirely via DOM or set the property to `false` in JavaScript.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-calendar range-picker=\"false\"></mds-calendar>\n\n<!-- ✅ CORRECT (HTML attribute approach) -->\n<!-- Range mode OFF: omit the attribute and set the property in JS -->\n<mds-calendar id=\"cal\"></mds-calendar>\n<script>\n document.querySelector('#cal').rangePicker = false;\n</script>\n```\n\n#### Do Not Set `end-date` When `range-picker` Is Disabled\n\nWhen `rangePicker` is `false`, the component rejects `endDate` with a console warning and clears it internally. Setting both `range-picker=\"false\"` and `end-date` is contradictory and produces no visible selection for the end date.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-calendar range-picker=\"false\" start-date=\"2025-06-01\" end-date=\"2025-06-15\"></mds-calendar>\n\n<!-- ✅ CORRECT -->\n<mds-calendar range-picker=\"false\" start-date=\"2025-06-01\"></mds-calendar>\n```\n\n#### Do Not Provide `startDate` After `endDate`\n\nDates must be chronologically ordered: `startDate` must precede `endDate`. If `startDate` is set to a value later than `endDate`, the component logs a console warning and does not apply the update. Always ensure `start-date <= end-date`.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-calendar start-date=\"2025-12-31\" end-date=\"2025-12-01\"></mds-calendar>\n\n<!-- ✅ CORRECT -->\n<mds-calendar start-date=\"2025-12-01\" end-date=\"2025-12-31\"></mds-calendar>\n```\n\n#### Do Not Listen for the Native `change` Event\n\n`<mds-calendar>` does not bubble a native `change` event from inside its Shadow DOM. Use the documented `mdsCalendarChange` custom event so the handler reliably receives the structured `{ startDate, endDate? }` payload.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-calendar id=\"cal\"></mds-calendar>\n<script>\n document.querySelector('#cal').addEventListener('change', (e) => {\n console.log(e.target.value); // undefined - wrong event\n });\n</script>\n\n<!-- ✅ CORRECT -->\n<mds-calendar id=\"cal\"></mds-calendar>\n<script>\n document.querySelector('#cal').addEventListener('mdsCalendarChange', (e) => {\n console.log(e.detail.startDate, e.detail.endDate);\n });\n</script>\n```\n\n#### Do Not Place Arbitrary Content in the `preselection` Slot\n\nThe `preselection` slot is designed for preselection shortcut components - not for arbitrary labels, headings, or free text. Placing unsupported elements there disrupts the preset-panel layout and may interfere with the `mdsCalendarPreselect` coordination event.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-calendar>\n <span slot=\"preselection\">Scegli un intervallo rapido</span>\n</mds-calendar>\n\n<!-- ✅ CORRECT -->\n<mds-calendar>\n <mds-input-date-range-preselection\n slot=\"preselection\"\n ></mds-input-date-range-preselection>\n</mds-calendar>\n```\n\n#### Do Not Use `<mds-calendar>` as a Drop-In Replacement for `mds-input-date`\n\n`<mds-calendar>` is not form-associated and emits no `name`/`value` pair for form submission. When you need a date picker tied to a form field, use [`mds-input-date`](../../mds-input-date) (single date) or [`mds-input-date-range`](../../mds-input-date-range) (range) instead.\n\n```html\n<!-- 🚫 INCORRECT -->\n<form action=\"/prenota\" method=\"post\">\n <mds-calendar name=\"check-in\" range-picker=\"false\"></mds-calendar>\n <button type=\"submit\">Prenota</button>\n</form>\n\n<!-- ✅ CORRECT -->\n<form action=\"/prenota\" method=\"post\">\n <mds-input-date name=\"check-in\" label=\"Data di arrivo\"></mds-input-date>\n <button type=\"submit\">Prenota</button>\n</form>\n```\n\n#### Do Not Style Internals via Undocumented `::part()` Selectors\n\nThe only supported customization surface is the set of `--mds-calendar-*` CSS custom properties. Targeting shadow-DOM internals with `::part()` selectors that are not in the documentation couples your code to the implementation and will break on minor releases.\n\n```css\n/* 🚫 INCORRECT */\nmds-calendar::part(nav) {\n background: red;\n}\nmds-calendar::part(cell) {\n border: 1px solid blue;\n}\n\n/* ✅ CORRECT */\nmds-calendar {\n --mds-calendar-background: rgb(var(--tone-neutral-09));\n --mds-calendar-border-radius: var(--radius-xl);\n --mds-calendar-cell-other-month-visibility: hidden;\n}\n```\n"
|
|
5105
5140
|
},
|
|
5106
5141
|
"props": [
|
|
5142
|
+
{
|
|
5143
|
+
"name": "disableMonthYearSelection",
|
|
5144
|
+
"type": "boolean",
|
|
5145
|
+
"complexType": {
|
|
5146
|
+
"original": "boolean",
|
|
5147
|
+
"resolved": "boolean",
|
|
5148
|
+
"references": {}
|
|
5149
|
+
},
|
|
5150
|
+
"mutable": false,
|
|
5151
|
+
"attr": "disable-month-year-selection",
|
|
5152
|
+
"reflectToAttr": false,
|
|
5153
|
+
"docs": "Disables switching to month or year selection views from the calendar header.",
|
|
5154
|
+
"docsTags": [
|
|
5155
|
+
{
|
|
5156
|
+
"name": "default",
|
|
5157
|
+
"text": "false"
|
|
5158
|
+
}
|
|
5159
|
+
],
|
|
5160
|
+
"default": "false",
|
|
5161
|
+
"values": [
|
|
5162
|
+
{
|
|
5163
|
+
"type": "boolean"
|
|
5164
|
+
}
|
|
5165
|
+
],
|
|
5166
|
+
"optional": false,
|
|
5167
|
+
"required": false,
|
|
5168
|
+
"getter": false,
|
|
5169
|
+
"setter": false
|
|
5170
|
+
},
|
|
5107
5171
|
{
|
|
5108
5172
|
"name": "endDate",
|
|
5109
5173
|
"type": "null | string",
|
|
@@ -5144,6 +5208,46 @@
|
|
|
5144
5208
|
"getter": false,
|
|
5145
5209
|
"setter": false
|
|
5146
5210
|
},
|
|
5211
|
+
{
|
|
5212
|
+
"name": "hoverDate",
|
|
5213
|
+
"type": "null | string",
|
|
5214
|
+
"complexType": {
|
|
5215
|
+
"original": "string | null",
|
|
5216
|
+
"resolved": "null | string",
|
|
5217
|
+
"references": {}
|
|
5218
|
+
},
|
|
5219
|
+
"mutable": false,
|
|
5220
|
+
"attr": "hover-date",
|
|
5221
|
+
"reflectToAttr": true,
|
|
5222
|
+
"docs": "Specifies the date used to preview the range selection across multiple visible calendars.",
|
|
5223
|
+
"docsTags": [
|
|
5224
|
+
{
|
|
5225
|
+
"name": "description",
|
|
5226
|
+
"text": "It's in ISO format (YYYY-MM-DD)."
|
|
5227
|
+
},
|
|
5228
|
+
{
|
|
5229
|
+
"name": "example",
|
|
5230
|
+
"text": "'2023-10-15'"
|
|
5231
|
+
},
|
|
5232
|
+
{
|
|
5233
|
+
"name": "default",
|
|
5234
|
+
"text": "null"
|
|
5235
|
+
}
|
|
5236
|
+
],
|
|
5237
|
+
"default": "null",
|
|
5238
|
+
"values": [
|
|
5239
|
+
{
|
|
5240
|
+
"type": "null"
|
|
5241
|
+
},
|
|
5242
|
+
{
|
|
5243
|
+
"type": "string"
|
|
5244
|
+
}
|
|
5245
|
+
],
|
|
5246
|
+
"optional": false,
|
|
5247
|
+
"required": false,
|
|
5248
|
+
"getter": false,
|
|
5249
|
+
"setter": false
|
|
5250
|
+
},
|
|
5147
5251
|
{
|
|
5148
5252
|
"name": "max",
|
|
5149
5253
|
"type": "null | string",
|
|
@@ -5235,7 +5339,94 @@
|
|
|
5235
5339
|
"mutable": false,
|
|
5236
5340
|
"attr": "range-picker",
|
|
5237
5341
|
"reflectToAttr": false,
|
|
5238
|
-
"docs": "",
|
|
5342
|
+
"docs": "Enables selecting a date range (start and end date) instead of a single date.",
|
|
5343
|
+
"docsTags": [
|
|
5344
|
+
{
|
|
5345
|
+
"name": "default",
|
|
5346
|
+
"text": "true"
|
|
5347
|
+
}
|
|
5348
|
+
],
|
|
5349
|
+
"default": "true",
|
|
5350
|
+
"values": [
|
|
5351
|
+
{
|
|
5352
|
+
"type": "boolean"
|
|
5353
|
+
}
|
|
5354
|
+
],
|
|
5355
|
+
"optional": false,
|
|
5356
|
+
"required": false,
|
|
5357
|
+
"getter": false,
|
|
5358
|
+
"setter": false
|
|
5359
|
+
},
|
|
5360
|
+
{
|
|
5361
|
+
"name": "showNextButton",
|
|
5362
|
+
"type": "boolean",
|
|
5363
|
+
"complexType": {
|
|
5364
|
+
"original": "boolean",
|
|
5365
|
+
"resolved": "boolean",
|
|
5366
|
+
"references": {}
|
|
5367
|
+
},
|
|
5368
|
+
"mutable": false,
|
|
5369
|
+
"attr": "show-next-button",
|
|
5370
|
+
"reflectToAttr": false,
|
|
5371
|
+
"docs": "Shows the next navigation button in the calendar header.",
|
|
5372
|
+
"docsTags": [
|
|
5373
|
+
{
|
|
5374
|
+
"name": "default",
|
|
5375
|
+
"text": "true"
|
|
5376
|
+
}
|
|
5377
|
+
],
|
|
5378
|
+
"default": "true",
|
|
5379
|
+
"values": [
|
|
5380
|
+
{
|
|
5381
|
+
"type": "boolean"
|
|
5382
|
+
}
|
|
5383
|
+
],
|
|
5384
|
+
"optional": false,
|
|
5385
|
+
"required": false,
|
|
5386
|
+
"getter": false,
|
|
5387
|
+
"setter": false
|
|
5388
|
+
},
|
|
5389
|
+
{
|
|
5390
|
+
"name": "showPreselection",
|
|
5391
|
+
"type": "boolean",
|
|
5392
|
+
"complexType": {
|
|
5393
|
+
"original": "boolean",
|
|
5394
|
+
"resolved": "boolean",
|
|
5395
|
+
"references": {}
|
|
5396
|
+
},
|
|
5397
|
+
"mutable": false,
|
|
5398
|
+
"attr": "show-preselection",
|
|
5399
|
+
"reflectToAttr": false,
|
|
5400
|
+
"docs": "Shows the preselection area above the calendar view.",
|
|
5401
|
+
"docsTags": [
|
|
5402
|
+
{
|
|
5403
|
+
"name": "default",
|
|
5404
|
+
"text": "false"
|
|
5405
|
+
}
|
|
5406
|
+
],
|
|
5407
|
+
"default": "false",
|
|
5408
|
+
"values": [
|
|
5409
|
+
{
|
|
5410
|
+
"type": "boolean"
|
|
5411
|
+
}
|
|
5412
|
+
],
|
|
5413
|
+
"optional": false,
|
|
5414
|
+
"required": false,
|
|
5415
|
+
"getter": false,
|
|
5416
|
+
"setter": false
|
|
5417
|
+
},
|
|
5418
|
+
{
|
|
5419
|
+
"name": "showPreviousButton",
|
|
5420
|
+
"type": "boolean",
|
|
5421
|
+
"complexType": {
|
|
5422
|
+
"original": "boolean",
|
|
5423
|
+
"resolved": "boolean",
|
|
5424
|
+
"references": {}
|
|
5425
|
+
},
|
|
5426
|
+
"mutable": false,
|
|
5427
|
+
"attr": "show-previous-button",
|
|
5428
|
+
"reflectToAttr": false,
|
|
5429
|
+
"docs": "Shows the previous navigation button in the calendar header.",
|
|
5239
5430
|
"docsTags": [
|
|
5240
5431
|
{
|
|
5241
5432
|
"name": "default",
|
|
@@ -5292,6 +5483,46 @@
|
|
|
5292
5483
|
"required": false,
|
|
5293
5484
|
"getter": false,
|
|
5294
5485
|
"setter": false
|
|
5486
|
+
},
|
|
5487
|
+
{
|
|
5488
|
+
"name": "viewDate",
|
|
5489
|
+
"type": "null | string",
|
|
5490
|
+
"complexType": {
|
|
5491
|
+
"original": "string | null",
|
|
5492
|
+
"resolved": "null | string",
|
|
5493
|
+
"references": {}
|
|
5494
|
+
},
|
|
5495
|
+
"mutable": false,
|
|
5496
|
+
"attr": "view-date",
|
|
5497
|
+
"reflectToAttr": true,
|
|
5498
|
+
"docs": "Specifies the date used to determine the visible month without changing the selection.",
|
|
5499
|
+
"docsTags": [
|
|
5500
|
+
{
|
|
5501
|
+
"name": "description",
|
|
5502
|
+
"text": "It's in ISO format (YYYY-MM-DD)."
|
|
5503
|
+
},
|
|
5504
|
+
{
|
|
5505
|
+
"name": "example",
|
|
5506
|
+
"text": "'2023-10-01'"
|
|
5507
|
+
},
|
|
5508
|
+
{
|
|
5509
|
+
"name": "default",
|
|
5510
|
+
"text": "null"
|
|
5511
|
+
}
|
|
5512
|
+
],
|
|
5513
|
+
"default": "null",
|
|
5514
|
+
"values": [
|
|
5515
|
+
{
|
|
5516
|
+
"type": "null"
|
|
5517
|
+
},
|
|
5518
|
+
{
|
|
5519
|
+
"type": "string"
|
|
5520
|
+
}
|
|
5521
|
+
],
|
|
5522
|
+
"optional": false,
|
|
5523
|
+
"required": false,
|
|
5524
|
+
"getter": false,
|
|
5525
|
+
"setter": false
|
|
5295
5526
|
}
|
|
5296
5527
|
],
|
|
5297
5528
|
"methods": [
|
|
@@ -5307,7 +5538,7 @@
|
|
|
5307
5538
|
{
|
|
5308
5539
|
"name": "date",
|
|
5309
5540
|
"type": "string",
|
|
5310
|
-
"docs": ""
|
|
5541
|
+
"docs": "the date to display, in ISO format (YYYY-MM-DD)"
|
|
5311
5542
|
}
|
|
5312
5543
|
],
|
|
5313
5544
|
"references": {
|
|
@@ -5323,11 +5554,16 @@
|
|
|
5323
5554
|
{
|
|
5324
5555
|
"name": "date",
|
|
5325
5556
|
"type": "string",
|
|
5326
|
-
"docs": ""
|
|
5557
|
+
"docs": "the date to display, in ISO format (YYYY-MM-DD)"
|
|
5327
5558
|
}
|
|
5328
5559
|
],
|
|
5329
|
-
"docs": "",
|
|
5330
|
-
"docsTags": [
|
|
5560
|
+
"docs": "Sets the calendar's current date and re-renders the calendar accordingly.",
|
|
5561
|
+
"docsTags": [
|
|
5562
|
+
{
|
|
5563
|
+
"name": "param",
|
|
5564
|
+
"text": "date the date to display, in ISO format (YYYY-MM-DD)"
|
|
5565
|
+
}
|
|
5566
|
+
]
|
|
5331
5567
|
},
|
|
5332
5568
|
{
|
|
5333
5569
|
"name": "updateLang",
|
|
@@ -5348,7 +5584,7 @@
|
|
|
5348
5584
|
},
|
|
5349
5585
|
"signature": "updateLang() => Promise<void>",
|
|
5350
5586
|
"parameters": [],
|
|
5351
|
-
"docs": "",
|
|
5587
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
5352
5588
|
"docsTags": []
|
|
5353
5589
|
}
|
|
5354
5590
|
],
|
|
@@ -5364,7 +5600,35 @@
|
|
|
5364
5600
|
},
|
|
5365
5601
|
"cancelable": true,
|
|
5366
5602
|
"composed": true,
|
|
5367
|
-
"docs": "",
|
|
5603
|
+
"docs": "Emitted when the selected date or date range changes.",
|
|
5604
|
+
"docsTags": []
|
|
5605
|
+
},
|
|
5606
|
+
{
|
|
5607
|
+
"event": "mdsCalendarHover",
|
|
5608
|
+
"detail": "{ hoverDate: string | null; }",
|
|
5609
|
+
"bubbles": true,
|
|
5610
|
+
"complexType": {
|
|
5611
|
+
"original": "{\n hoverDate: string | null;\n }",
|
|
5612
|
+
"resolved": "{ hoverDate: string | null; }",
|
|
5613
|
+
"references": {}
|
|
5614
|
+
},
|
|
5615
|
+
"cancelable": true,
|
|
5616
|
+
"composed": true,
|
|
5617
|
+
"docs": "Emitted when the user hovers over a day, used to preview a range selection.",
|
|
5618
|
+
"docsTags": []
|
|
5619
|
+
},
|
|
5620
|
+
{
|
|
5621
|
+
"event": "mdsCalendarNavigate",
|
|
5622
|
+
"detail": "{ currentDate: string; delta: number; }",
|
|
5623
|
+
"bubbles": true,
|
|
5624
|
+
"complexType": {
|
|
5625
|
+
"original": "{\n currentDate: string;\n delta: number;\n }",
|
|
5626
|
+
"resolved": "{ currentDate: string; delta: number; }",
|
|
5627
|
+
"references": {}
|
|
5628
|
+
},
|
|
5629
|
+
"cancelable": true,
|
|
5630
|
+
"composed": true,
|
|
5631
|
+
"docs": "Emitted when the user navigates to a different month or year.",
|
|
5368
5632
|
"docsTags": []
|
|
5369
5633
|
},
|
|
5370
5634
|
{
|
|
@@ -5378,7 +5642,7 @@
|
|
|
5378
5642
|
},
|
|
5379
5643
|
"cancelable": true,
|
|
5380
5644
|
"composed": true,
|
|
5381
|
-
"docs": "",
|
|
5645
|
+
"docs": "Emitted when the calendar's preselection options need to be re-evaluated.",
|
|
5382
5646
|
"docsTags": []
|
|
5383
5647
|
}
|
|
5384
5648
|
],
|
|
@@ -5418,9 +5682,24 @@
|
|
|
5418
5682
|
"name": "--mds-calendar-padding",
|
|
5419
5683
|
"annotation": "prop",
|
|
5420
5684
|
"docs": "The internal padding of the calendar container."
|
|
5685
|
+
},
|
|
5686
|
+
{
|
|
5687
|
+
"name": "--mds-calendar-select-month-or-year-height",
|
|
5688
|
+
"annotation": "prop",
|
|
5689
|
+
"docs": "The height of the month/year selector in the calendar header."
|
|
5690
|
+
},
|
|
5691
|
+
{
|
|
5692
|
+
"name": "--mds-calendar-select-month-or-year-width",
|
|
5693
|
+
"annotation": "prop",
|
|
5694
|
+
"docs": "The width of the month/year selector in the calendar header."
|
|
5695
|
+
}
|
|
5696
|
+
],
|
|
5697
|
+
"slots": [
|
|
5698
|
+
{
|
|
5699
|
+
"name": "preselection",
|
|
5700
|
+
"docs": "Add `HTML elements` or `components` shown in the calendar preselection area."
|
|
5421
5701
|
}
|
|
5422
5702
|
],
|
|
5423
|
-
"slots": [],
|
|
5424
5703
|
"parts": [],
|
|
5425
5704
|
"states": [],
|
|
5426
5705
|
"dependents": [
|
|
@@ -6099,7 +6378,7 @@
|
|
|
6099
6378
|
"docsTags": [
|
|
6100
6379
|
{
|
|
6101
6380
|
"name": "slot",
|
|
6102
|
-
"text": "
|
|
6381
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
6103
6382
|
}
|
|
6104
6383
|
],
|
|
6105
6384
|
"usage": {
|
|
@@ -6114,7 +6393,7 @@
|
|
|
6114
6393
|
"styles": [],
|
|
6115
6394
|
"slots": [
|
|
6116
6395
|
{
|
|
6117
|
-
"name": "
|
|
6396
|
+
"name": "",
|
|
6118
6397
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
6119
6398
|
}
|
|
6120
6399
|
],
|
|
@@ -6133,7 +6412,7 @@
|
|
|
6133
6412
|
"docsTags": [
|
|
6134
6413
|
{
|
|
6135
6414
|
"name": "slot",
|
|
6136
|
-
"text": "
|
|
6415
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
6137
6416
|
}
|
|
6138
6417
|
],
|
|
6139
6418
|
"usage": {
|
|
@@ -6148,7 +6427,7 @@
|
|
|
6148
6427
|
"styles": [],
|
|
6149
6428
|
"slots": [
|
|
6150
6429
|
{
|
|
6151
|
-
"name": "
|
|
6430
|
+
"name": "",
|
|
6152
6431
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
6153
6432
|
}
|
|
6154
6433
|
],
|
|
@@ -6167,7 +6446,7 @@
|
|
|
6167
6446
|
"docsTags": [
|
|
6168
6447
|
{
|
|
6169
6448
|
"name": "slot",
|
|
6170
|
-
"text": "
|
|
6449
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
6171
6450
|
},
|
|
6172
6451
|
{
|
|
6173
6452
|
"name": "slot",
|
|
@@ -6186,12 +6465,12 @@
|
|
|
6186
6465
|
"styles": [],
|
|
6187
6466
|
"slots": [
|
|
6188
6467
|
{
|
|
6189
|
-
"name": "
|
|
6190
|
-
"docs": "Add `HTML elements` or `components
|
|
6468
|
+
"name": "",
|
|
6469
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
6191
6470
|
},
|
|
6192
6471
|
{
|
|
6193
|
-
"name": "
|
|
6194
|
-
"docs": "Add `
|
|
6472
|
+
"name": "action",
|
|
6473
|
+
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
6195
6474
|
}
|
|
6196
6475
|
],
|
|
6197
6476
|
"parts": [],
|
|
@@ -6209,7 +6488,7 @@
|
|
|
6209
6488
|
"docsTags": [
|
|
6210
6489
|
{
|
|
6211
6490
|
"name": "slot",
|
|
6212
|
-
"text": "
|
|
6491
|
+
"text": "- Add `HTML elements` or `components` to this slot, it is **recommended** to add `mds-img` element or other component which represents media contents."
|
|
6213
6492
|
},
|
|
6214
6493
|
{
|
|
6215
6494
|
"name": "slot",
|
|
@@ -6228,12 +6507,12 @@
|
|
|
6228
6507
|
"styles": [],
|
|
6229
6508
|
"slots": [
|
|
6230
6509
|
{
|
|
6231
|
-
"name": "
|
|
6232
|
-
"docs": "Add `
|
|
6510
|
+
"name": "",
|
|
6511
|
+
"docs": "Add `HTML elements` or `components` to this slot, it is **recommended** to add `mds-img` element or other component which represents media contents."
|
|
6233
6512
|
},
|
|
6234
6513
|
{
|
|
6235
|
-
"name": "
|
|
6236
|
-
"docs": "Add `HTML elements` or `components` to this slot,
|
|
6514
|
+
"name": "content",
|
|
6515
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot, contents will be shown in front of the media element."
|
|
6237
6516
|
}
|
|
6238
6517
|
],
|
|
6239
6518
|
"parts": [
|
|
@@ -6632,7 +6911,7 @@
|
|
|
6632
6911
|
},
|
|
6633
6912
|
"signature": "updateLang() => Promise<void>",
|
|
6634
6913
|
"parameters": [],
|
|
6635
|
-
"docs": "",
|
|
6914
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
6636
6915
|
"docsTags": []
|
|
6637
6916
|
}
|
|
6638
6917
|
],
|
|
@@ -6785,7 +7064,7 @@
|
|
|
6785
7064
|
"docsTags": [
|
|
6786
7065
|
{
|
|
6787
7066
|
"name": "slot",
|
|
6788
|
-
"text": "
|
|
7067
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
6789
7068
|
},
|
|
6790
7069
|
{
|
|
6791
7070
|
"name": "slot",
|
|
@@ -6885,12 +7164,12 @@
|
|
|
6885
7164
|
],
|
|
6886
7165
|
"slots": [
|
|
6887
7166
|
{
|
|
6888
|
-
"name": "
|
|
6889
|
-
"docs": "Add `HTML elements` or `components
|
|
7167
|
+
"name": "",
|
|
7168
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
6890
7169
|
},
|
|
6891
7170
|
{
|
|
6892
|
-
"name": "
|
|
6893
|
-
"docs": "Add `
|
|
7171
|
+
"name": "action",
|
|
7172
|
+
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
6894
7173
|
},
|
|
6895
7174
|
{
|
|
6896
7175
|
"name": "icon",
|
|
@@ -6929,7 +7208,7 @@
|
|
|
6929
7208
|
"docsTags": [
|
|
6930
7209
|
{
|
|
6931
7210
|
"name": "slot",
|
|
6932
|
-
"text": "
|
|
7211
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot, elements will be shown when the component is triggered."
|
|
6933
7212
|
}
|
|
6934
7213
|
],
|
|
6935
7214
|
"usage": {
|
|
@@ -7576,7 +7855,7 @@
|
|
|
7576
7855
|
],
|
|
7577
7856
|
"slots": [
|
|
7578
7857
|
{
|
|
7579
|
-
"name": "
|
|
7858
|
+
"name": "",
|
|
7580
7859
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot, elements will be shown when the component is triggered."
|
|
7581
7860
|
}
|
|
7582
7861
|
],
|
|
@@ -7643,7 +7922,7 @@
|
|
|
7643
7922
|
"mutable": false,
|
|
7644
7923
|
"attr": "name",
|
|
7645
7924
|
"reflectToAttr": true,
|
|
7646
|
-
"docs": "",
|
|
7925
|
+
"docs": "Specifies which emoji to display.",
|
|
7647
7926
|
"docsTags": [
|
|
7648
7927
|
{
|
|
7649
7928
|
"name": "default",
|
|
@@ -7920,7 +8199,7 @@
|
|
|
7920
8199
|
{
|
|
7921
8200
|
"name": "duration",
|
|
7922
8201
|
"type": "number",
|
|
7923
|
-
"docs": ""
|
|
8202
|
+
"docs": "the animation duration, in seconds"
|
|
7924
8203
|
}
|
|
7925
8204
|
],
|
|
7926
8205
|
"references": {
|
|
@@ -7936,11 +8215,16 @@
|
|
|
7936
8215
|
{
|
|
7937
8216
|
"name": "duration",
|
|
7938
8217
|
"type": "number",
|
|
7939
|
-
"docs": ""
|
|
8218
|
+
"docs": "the animation duration, in seconds"
|
|
7940
8219
|
}
|
|
7941
8220
|
],
|
|
7942
|
-
"docs": "",
|
|
7943
|
-
"docsTags": [
|
|
8221
|
+
"docs": "Stops the \"thinking\" animation after the given duration.",
|
|
8222
|
+
"docsTags": [
|
|
8223
|
+
{
|
|
8224
|
+
"name": "param",
|
|
8225
|
+
"text": "duration the animation duration, in seconds"
|
|
8226
|
+
}
|
|
8227
|
+
]
|
|
7944
8228
|
}
|
|
7945
8229
|
],
|
|
7946
8230
|
"events": [],
|
|
@@ -8098,7 +8382,7 @@
|
|
|
8098
8382
|
"docsTags": [
|
|
8099
8383
|
{
|
|
8100
8384
|
"name": "slot",
|
|
8101
|
-
"text": "
|
|
8385
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
8102
8386
|
},
|
|
8103
8387
|
{
|
|
8104
8388
|
"name": "slot",
|
|
@@ -8396,12 +8680,12 @@
|
|
|
8396
8680
|
],
|
|
8397
8681
|
"slots": [
|
|
8398
8682
|
{
|
|
8399
|
-
"name": "
|
|
8400
|
-
"docs": "Add `HTML elements` or `components
|
|
8683
|
+
"name": "",
|
|
8684
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
8401
8685
|
},
|
|
8402
8686
|
{
|
|
8403
|
-
"name": "
|
|
8404
|
-
"docs": "Add `
|
|
8687
|
+
"name": "action",
|
|
8688
|
+
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
8405
8689
|
},
|
|
8406
8690
|
{
|
|
8407
8691
|
"name": "detail",
|
|
@@ -8878,7 +9162,7 @@
|
|
|
8878
9162
|
},
|
|
8879
9163
|
"signature": "updateLang() => Promise<void>",
|
|
8880
9164
|
"parameters": [],
|
|
8881
|
-
"docs": "",
|
|
9165
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
8882
9166
|
"docsTags": []
|
|
8883
9167
|
}
|
|
8884
9168
|
],
|
|
@@ -9617,7 +9901,7 @@
|
|
|
9617
9901
|
},
|
|
9618
9902
|
"signature": "updateLang() => Promise<void>",
|
|
9619
9903
|
"parameters": [],
|
|
9620
|
-
"docs": "",
|
|
9904
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
9621
9905
|
"docsTags": []
|
|
9622
9906
|
}
|
|
9623
9907
|
],
|
|
@@ -9746,7 +10030,7 @@
|
|
|
9746
10030
|
"docsTags": [
|
|
9747
10031
|
{
|
|
9748
10032
|
"name": "slot",
|
|
9749
|
-
"text": "
|
|
10033
|
+
"text": "- Add `mds-filter-item` element/s."
|
|
9750
10034
|
}
|
|
9751
10035
|
],
|
|
9752
10036
|
"usage": {
|
|
@@ -9945,7 +10229,7 @@
|
|
|
9945
10229
|
],
|
|
9946
10230
|
"slots": [
|
|
9947
10231
|
{
|
|
9948
|
-
"name": "
|
|
10232
|
+
"name": "",
|
|
9949
10233
|
"docs": "Add `mds-filter-item` element/s."
|
|
9950
10234
|
}
|
|
9951
10235
|
],
|
|
@@ -10211,7 +10495,7 @@
|
|
|
10211
10495
|
},
|
|
10212
10496
|
{
|
|
10213
10497
|
"name": "slot",
|
|
10214
|
-
"text": "
|
|
10498
|
+
"text": "- Add `mds-header-bar` element/s."
|
|
10215
10499
|
},
|
|
10216
10500
|
{
|
|
10217
10501
|
"name": "slot",
|
|
@@ -10515,7 +10799,7 @@
|
|
|
10515
10799
|
{
|
|
10516
10800
|
"name": "isOpened",
|
|
10517
10801
|
"type": "boolean",
|
|
10518
|
-
"docs": ""
|
|
10802
|
+
"docs": "whether the header should be opened"
|
|
10519
10803
|
}
|
|
10520
10804
|
],
|
|
10521
10805
|
"references": {
|
|
@@ -10531,11 +10815,16 @@
|
|
|
10531
10815
|
{
|
|
10532
10816
|
"name": "isOpened",
|
|
10533
10817
|
"type": "boolean",
|
|
10534
|
-
"docs": ""
|
|
10818
|
+
"docs": "whether the header should be opened"
|
|
10535
10819
|
}
|
|
10536
10820
|
],
|
|
10537
|
-
"docs": "",
|
|
10538
|
-
"docsTags": [
|
|
10821
|
+
"docs": "Opens or closes the header.",
|
|
10822
|
+
"docsTags": [
|
|
10823
|
+
{
|
|
10824
|
+
"name": "param",
|
|
10825
|
+
"text": "isOpened whether the header should be opened"
|
|
10826
|
+
}
|
|
10827
|
+
]
|
|
10539
10828
|
}
|
|
10540
10829
|
],
|
|
10541
10830
|
"events": [
|
|
@@ -10642,7 +10931,7 @@
|
|
|
10642
10931
|
],
|
|
10643
10932
|
"slots": [
|
|
10644
10933
|
{
|
|
10645
|
-
"name": "
|
|
10934
|
+
"name": "",
|
|
10646
10935
|
"docs": "Add `mds-header-bar` element/s."
|
|
10647
10936
|
},
|
|
10648
10937
|
{
|
|
@@ -10696,7 +10985,7 @@
|
|
|
10696
10985
|
},
|
|
10697
10986
|
{
|
|
10698
10987
|
"name": "slot",
|
|
10699
|
-
"text": "
|
|
10988
|
+
"text": "- Put contents, like logo and a small description shown on the left of the component. Add `text string`, `HTML elements` or `components` to this slot."
|
|
10700
10989
|
},
|
|
10701
10990
|
{
|
|
10702
10991
|
"name": "slot",
|
|
@@ -10821,7 +11110,7 @@
|
|
|
10821
11110
|
{
|
|
10822
11111
|
"name": "isOpened",
|
|
10823
11112
|
"type": "boolean",
|
|
10824
|
-
"docs": ""
|
|
11113
|
+
"docs": "whether the header bar should be opened"
|
|
10825
11114
|
}
|
|
10826
11115
|
],
|
|
10827
11116
|
"references": {
|
|
@@ -10837,11 +11126,16 @@
|
|
|
10837
11126
|
{
|
|
10838
11127
|
"name": "isOpened",
|
|
10839
11128
|
"type": "boolean",
|
|
10840
|
-
"docs": ""
|
|
11129
|
+
"docs": "whether the header bar should be opened"
|
|
10841
11130
|
}
|
|
10842
11131
|
],
|
|
10843
|
-
"docs": "",
|
|
10844
|
-
"docsTags": [
|
|
11132
|
+
"docs": "Opens or closes the header bar.",
|
|
11133
|
+
"docsTags": [
|
|
11134
|
+
{
|
|
11135
|
+
"name": "param",
|
|
11136
|
+
"text": "isOpened whether the header bar should be opened"
|
|
11137
|
+
}
|
|
11138
|
+
]
|
|
10845
11139
|
}
|
|
10846
11140
|
],
|
|
10847
11141
|
"events": [
|
|
@@ -10870,7 +11164,7 @@
|
|
|
10870
11164
|
],
|
|
10871
11165
|
"slots": [
|
|
10872
11166
|
{
|
|
10873
|
-
"name": "
|
|
11167
|
+
"name": "",
|
|
10874
11168
|
"docs": "Put contents, like logo and a small description shown on the left of the component. Add `text string`, `HTML elements` or `components` to this slot."
|
|
10875
11169
|
},
|
|
10876
11170
|
{
|
|
@@ -10921,7 +11215,7 @@
|
|
|
10921
11215
|
"docsTags": [
|
|
10922
11216
|
{
|
|
10923
11217
|
"name": "slot",
|
|
10924
|
-
"text": "
|
|
11218
|
+
"text": "- Add `text string` to this slot, **avoid** `HTML elements` or `components`."
|
|
10925
11219
|
}
|
|
10926
11220
|
],
|
|
10927
11221
|
"usage": {
|
|
@@ -11100,7 +11394,7 @@
|
|
|
11100
11394
|
],
|
|
11101
11395
|
"slots": [
|
|
11102
11396
|
{
|
|
11103
|
-
"name": "
|
|
11397
|
+
"name": "",
|
|
11104
11398
|
"docs": "Add `text string` to this slot, **avoid** `HTML elements` or `components`."
|
|
11105
11399
|
}
|
|
11106
11400
|
],
|
|
@@ -11140,7 +11434,7 @@
|
|
|
11140
11434
|
"docsTags": [
|
|
11141
11435
|
{
|
|
11142
11436
|
"name": "slot",
|
|
11143
|
-
"text": "
|
|
11437
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
11144
11438
|
}
|
|
11145
11439
|
],
|
|
11146
11440
|
"usage": {
|
|
@@ -11380,7 +11674,7 @@
|
|
|
11380
11674
|
],
|
|
11381
11675
|
"slots": [
|
|
11382
11676
|
{
|
|
11383
|
-
"name": "
|
|
11677
|
+
"name": "",
|
|
11384
11678
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
11385
11679
|
}
|
|
11386
11680
|
],
|
|
@@ -11434,7 +11728,7 @@
|
|
|
11434
11728
|
"filePath": "src/components/mds-icon/mds-icon.tsx",
|
|
11435
11729
|
"encapsulation": "shadow",
|
|
11436
11730
|
"tag": "mds-icon",
|
|
11437
|
-
"readme": "# mds-icon\n\n## How to use\n\nThis component is intented to be used only with svg files. In order to properly work, you need to tell the component the path to the svg file directory.\n\n### Via `
|
|
11731
|
+
"readme": "# mds-icon\n\n## How to use\n\nThis component is intented to be used only with svg files. In order to properly work, you need to tell the component the path to the svg file directory.\n\n### Via `IconsSetService` (recommended)\n\nImport the `IconsSetService` singleton from the package's `services` entry point and call\n`setSvgPath()`. It updates the shared, in-memory icon path (kept on `globalThis`, so every\nbundled copy of the service agrees) and notifies all mounted icons to (re)load — **no\n`sessionStorage` involved**.\n\n```javascript\nimport { IconsSetService } from '@maggioli-design-system/magma/services';\n\nIconsSetService.setSvgPath('/assets/img/svg/');\n```\n\nThe path must be an absolute path starting with `/`, or a full URL.\nIt can be called before or after the icons are mounted.\n\n### Via `sessionStorage` (optional)\n\nYou can also point the component to the svg directory by setting a `sessionStorage` key.\nNote this is **optional and may be blocked** by some browsers, privacy/incognito modes,\nstorage partitioning, or sandboxed iframes — when blocked, prefer `IconsSetService` above.\n\n```javascript\nwindow.sessionStorage.setItem('mdsIconSvgPath', 'assets/img/svg/');\n```\n\nThe path to the directory is based on how the `assets` are handled by the framework you are using.\n\n### Via `setSvgPath` stencil method\n\nAnother way would be, after you have called `defineCustomElements()` of this component, to instantiate a temporary MdsIcon DOM node element to call the `setSvgPath` class method\n\n```javascript\nconst mdsIconGet = async () => {\n // Wait for the web component to be defined\n await customElements.whenDefined('mds-icon')\n // Create an instance of mds-icon\n const mdsIcon = document.createElement('mds-icon')\n // Append element to body\n document.body.appendChild(mdsIcon)\n // Check for method existance and set svg directory path\n if ('setSvgPath' in mdsIcon) {\n mdsIcon.setSvgPath('/assets/img/svg/')\n }\n // Remove element from body\n document.body.removeChild(mdsIcon)\n}\n\nmdsIconGet()\n```\n\n### Via `setSvgPathStatic` static class function\n\nLast way to set it is by calling the static function present in the class, after the\n`defineCustomElements()` call. This relies on a deep import whose path is not a stable\npublic API (it changes between builds), so prefer `IconsSetService` above.\n\n```javascript\nimport { mds_icon } from '@maggioli-design-system/magma/dist/esm/mds-icon.entry'\n\nconst mdsIconGet = async () => {\n await customElements.whenDefined('mds-icon')\n\n mds_icon.setSvgPathStatic('/assets/img/svg/')\n}\n\nmdsIconGet()\n```\n\n## Force icon update\n\nIn some cases it may happens that when setting the path to where the SVG are located, icons still fail to load them.\n\nThis may be caused by the instatiation of `mds-icon` component happening before the setting of the directory path.\n\nTo force the update of the icons, after you have called `window.sessionStorage` or the `mds-icon` functions, you can dispatch a global event from the window with the key `mdsIconSvgPathUpdate`\n\n```javascript\nwindow.dispatchEvent(new CustomEvent('mdsIconSvgPathUpdate'))\n```\n\nOnce done this, the icons component already instantiated will be notified of the update and try to reload the icons.\n\nThis is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.\n",
|
|
11438
11732
|
"docs": "",
|
|
11439
11733
|
"docsTags": [
|
|
11440
11734
|
{
|
|
@@ -11443,9 +11737,9 @@
|
|
|
11443
11737
|
}
|
|
11444
11738
|
],
|
|
11445
11739
|
"usage": {
|
|
11446
|
-
"1. Description": "The `<mds-icon>` web component is the single glyph primitive of the Magma Design System: it inlines an SVG into the DOM so the artwork inherits color and sizing from CSS, and it is the building block that nearly every other component (button, chip, input, banner, list-item, etc.) composes to render its iconography. It replaces a raw `<img>`/`<svg>` tag and centralizes how icon artwork is resolved.\n\n#### Semantic Behavior\n\n- **Decorative by default**: The icon contributes no accessible name; meaning must come from the surrounding labelled control or text.\n- **Source resolution**: `name` is interpreted three ways - a base64 `data:` SVG string is decoded inline, a raw `<svg>`/`<?xml>` markup string is used verbatim, and anything else is treated as an icon filename slug fetched from the configured SVG directory.\n- **Async load**: When `name` is a slug the icon paints once the SVG arrives; a failed fetch renders empty rather than throwing.\n- **Path configuration**: The SVG directory
|
|
11447
|
-
"2. Pattern": "Correct and idiomatic ways to use the `<mds-icon>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the icon slug conventions documented in [`projects/stencil/SPEC.md`](../../../../SPEC.md) and the catalogue in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md).\n\n#### Icon Slug from the Shared Library\n\nThe canonical form. Pass a slug string as `name`; the component fetches the matching SVG from the configured assets directory. Slugs follow the convention of the active iconsauce plugin: `mi/<variant>/<name>` for Material Icons, `mdi/<name>` for Material Design Icons, and a semantic name for the internal `mgg-icons` set.\n\n```html\n<!-- Material Icons baseline variant -->\n<mds-icon name=\"mi/baseline/search\"></mds-icon>\n\n<!-- Material Design Icons -->\n<mds-icon name=\"mdi/alien\"></mds-icon>\n\n<!-- Internal mgg-icons semantic slug -->\n<mds-icon name=\"action-email-send\"></mds-icon>\n```\n\n#### Configuring the SVG Base Path via
|
|
11448
|
-
"3. Antipattern": "Common incorrect uses of `<mds-icon>`. Each entry pairs the wrong form with the right one and a one-line reason. System-wide rules (boolean-as-string, shadow piercing, Tailwind color utilities, raw native event listening) live in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md#system-level-anti-patterns) - they apply here too but are not repeated.\n\n#### Do Not Use `<img>` or Inline `<svg>` Instead of `<mds-icon>`\n\nUsing a raw `<img src=\"...svg\">` or a hardcoded `<svg>` literal bypasses the iconsauce build pipeline (tree-shaking, caching, path management) and the shared theming surface. Use `<mds-icon name=\"...\">` with the slug so the icon is tree-shaken, cached, and inherits color from CSS.\n\n```html\n<!-- 🚫 INCORRECT -->\n<img src=\"/assets/img/svg/mi/baseline/add.svg\" alt=\"\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"...\"/></svg>\n\n<!-- ✅ CORRECT -->\n<mds-icon name=\"mi/baseline/add\"></mds-icon>\n```\n\n#### Do Not Slot `<mds-icon>` to Add an Icon to Another Component\n\n`<mds-icon>` has no slot and accepts no children. Other Magma components expose an `icon` prop that renders the SVG through the shared service with correct positioning. Slotting `<mds-icon>` into the default slot of another component is stripped or misaligned.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-button>\n <mds-icon name=\"mi/baseline/add\"></mds-icon>\n Aggiungi\n</mds-button>\n\n<!-- ✅ CORRECT -->\n<mds-button label=\"Aggiungi\" icon=\"mi/baseline/add\" variant=\"secondary\" tone=\"weak\"></mds-button>\n```\n\n#### Do Not
|
|
11740
|
+
"1. Description": "The `<mds-icon>` web component is the single glyph primitive of the Magma Design System: it inlines an SVG into the DOM so the artwork inherits color and sizing from CSS, and it is the building block that nearly every other component (button, chip, input, banner, list-item, etc.) composes to render its iconography. It replaces a raw `<img>`/`<svg>` tag and centralizes how icon artwork is resolved.\n\n#### Semantic Behavior\n\n- **Decorative by default**: The icon contributes no accessible name; meaning must come from the surrounding labelled control or text.\n- **Source resolution**: `name` is interpreted three ways - a base64 `data:` SVG string is decoded inline, a raw `<svg>`/`<?xml>` markup string is used verbatim, and anything else is treated as an icon filename slug fetched from the configured SVG directory.\n- **Async load**: When `name` is a slug the icon paints once the SVG arrives; a failed fetch renders empty rather than throwing.\n- **Path configuration**: The SVG directory is set programmatically via the shared `IconsSetService.setSvgPath()` singleton (imported from `@maggioli-design-system/magma/services`), with the `mdsIconSvgPath` `sessionStorage` key as an optional fallback and the `setSvgPath` instance / `setSvgPathStatic` static methods as alternatives; icons that mounted before the path was configured reload themselves once it is set.\n\n#### Properties & Visual Configurations\n\n- **`name`** is the only configurable input and is overloaded: pass an icon filename slug to pull artwork from the shared library, a base64-encoded SVG `data:` URI for inline/dynamic artwork, or a full raw SVG string when the markup is generated at runtime.\n\nThis component does not use the shared `variant` / `tone` / `size` ladders defined in [`projects/stencil/SPEC.md`](../../../../SPEC.md#tone-and-variant-system); color and dimensions are inherited from the host context via CSS (e.g. `currentColor` and font size), which is how parent components tint and scale their icons.\n",
|
|
11741
|
+
"2. Pattern": "Correct and idiomatic ways to use the `<mds-icon>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the icon slug conventions documented in [`projects/stencil/SPEC.md`](../../../../SPEC.md) and the catalogue in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md).\n\n#### Icon Slug from the Shared Library\n\nThe canonical form. Pass a slug string as `name`; the component fetches the matching SVG from the configured assets directory. Slugs follow the convention of the active iconsauce plugin: `mi/<variant>/<name>` for Material Icons, `mdi/<name>` for Material Design Icons, and a semantic name for the internal `mgg-icons` set.\n\n```html\n<!-- Material Icons baseline variant -->\n<mds-icon name=\"mi/baseline/search\"></mds-icon>\n\n<!-- Material Design Icons -->\n<mds-icon name=\"mdi/alien\"></mds-icon>\n\n<!-- Internal mgg-icons semantic slug -->\n<mds-icon name=\"action-email-send\"></mds-icon>\n```\n\n#### Configuring the SVG Base Path via `IconsSetService` (recommended)\n\nImport the shared `IconsSetService` singleton from the package's `services` entry point and call `setSvgPath()`. It updates the shared, in-memory icon path - kept on `globalThis` so every bundled copy of the service (lazy chunks, `esm`/`esm-es5` variants, `dist/components`) agrees on it - and notifies all mounted icons to (re)load immediately. **No `sessionStorage` is involved**, which makes it the safest option when storage is blocked (incognito, sandboxed iframes, storage partitioning). Pass an absolute path (starting with `/`) or a full URL.\n\n```javascript\nimport { IconsSetService } from '@maggioli-design-system/magma/services';\n\nIconsSetService.setSvgPath('/assets/img/svg/');\n```\n\nIt can be called before or after the icons mount: instances mounted earlier re-fetch automatically once the path is set. Always use the exported `IconsSetService`; do not construct your own controller, which would keep a separate icon cache and listener list.\n\n#### Configuring the SVG Base Path via sessionStorage (optional)\n\nSet `mdsIconSvgPath` in `sessionStorage` before any `<mds-icon>` mounts; every icon instance falls back to this key when no path has been set programmatically. This one-liner is convenient but **may be blocked** by some browsers, privacy/incognito modes, storage partitioning, or sandboxed iframes - when that happens, use `IconsSetService.setSvgPath()` above instead.\n\n```javascript\nwindow.sessionStorage.setItem('mdsIconSvgPath', 'assets/img/svg/');\n```\n\n#### Forcing a Reload After Late Path Configuration\n\nIf icons are already in the DOM when the SVG path is set (for example, inside a lazy-loaded module), dispatch `mdsIconSvgPathUpdate` after configuring the path. Every mounted instance listens for this event and re-fetches.\n\n```javascript\nwindow.sessionStorage.setItem('mdsIconSvgPath', 'assets/img/svg/');\nwindow.dispatchEvent(new CustomEvent('mdsIconSvgPathUpdate'));\n```\n\n#### Configuring the SVG Base Path via the Instance Method\n\nAn alternative to `IconsSetService` when you already hold an `<mds-icon>` element: call its `setSvgPath` `@Method`. It delegates to the same singleton, so the effect is identical - prefer `IconsSetService` unless creating an element is more convenient (for example, in isolated testing environments).\n\n```javascript\nawait customElements.whenDefined('mds-icon');\nconst tmp = document.createElement('mds-icon');\ndocument.body.appendChild(tmp);\nif ('setSvgPath' in tmp) {\n tmp.setSvgPath('/assets/img/svg/');\n}\ndocument.body.removeChild(tmp);\n```\n\n#### Inline Raw SVG String\n\nPass a full SVG markup string as `name` when the artwork is generated or received at runtime and does not have a slug in the library. The component uses the string verbatim - no network request is made.\n\n```html\n<mds-icon\n name='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M12 2L2 22h20L12 2z\"/></svg>'\n></mds-icon>\n```\n\n#### Base64-encoded SVG Data URI\n\nPass a `data:image/svg+xml;base64,...` string when the icon is delivered from an API as a Base64 payload. The component decodes it inline - no external fetch occurs.\n\n```html\n<mds-icon name=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci...\"></mds-icon>\n```\n\n#### Sizing via CSS Width\n\n`<mds-icon>` is `display: inline-flex` with `aspect-ratio: 1` and a default width of `--spacing(600)`. Override size by setting a `width` on the host - height scales automatically via the aspect ratio. Use Magma spacing tokens to stay on-grid.\n\n```html\n<!-- Small icon using a Tailwind spacing utility -->\n<mds-icon name=\"mi/baseline/info\" class=\"w-800\"></mds-icon>\n\n<!-- Large icon -->\n<mds-icon name=\"mi/baseline/star\" class=\"w-1200\"></mds-icon>\n```\n\n#### Coloring via `fill` Utility or `currentColor`\n\nThe inlined SVG inherits `currentColor` from the host element, so setting `color` on a parent or a Tailwind `fill-*` utility on the host is enough to tint the artwork. Use Magma color tokens.\n\n```html\n<!-- Tint with a Magma label token -->\n<mds-icon name=\"mi/baseline/check-circle\" class=\"fill-label-green-06\"></mds-icon>\n\n<!-- Inherit the current text color from a parent -->\n<p class=\"text-status-success-05\">\n <mds-icon name=\"mi/baseline/check\"></mds-icon>\n Operazione completata\n</p>\n```\n\n#### Standalone Decorative Icon Inside a Labelled Control\n\n`<mds-icon>` renders with `aria-hidden=\"true\"` on its inner element; it carries no accessible name itself. When used standalone next to visible text, no extra ARIA is needed. When used as the only visual indicator inside an interactive control, the control must supply the accessible name.\n\n```html\n<!-- Decorative: the adjacent text provides the meaning -->\n<span class=\"flex items-center gap-200\">\n <mds-icon name=\"mi/baseline/email\"></mds-icon>\n Invia messaggio\n</span>\n```\n\n#### Styling via `::part(svg)`\n\nThe single documented shadow part is `svg` - the `<i>` wrapper around the inlined SVG. Use `::part(svg)` only for deep SVG styling not achievable through `fill` or `color`. Keep to documented parts; undocumented internals can change on minor releases.\n\n```css\nmds-icon::part(svg) {\n filter: drop-shadow(0 1px 2px rgb(var(--tone-kaolin-07)));\n}\n```\n",
|
|
11742
|
+
"3. Antipattern": "Common incorrect uses of `<mds-icon>`. Each entry pairs the wrong form with the right one and a one-line reason. System-wide rules (boolean-as-string, shadow piercing, Tailwind color utilities, raw native event listening) live in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md#system-level-anti-patterns) - they apply here too but are not repeated.\n\n#### Do Not Use `<img>` or Inline `<svg>` Instead of `<mds-icon>`\n\nUsing a raw `<img src=\"...svg\">` or a hardcoded `<svg>` literal bypasses the iconsauce build pipeline (tree-shaking, caching, path management) and the shared theming surface. Use `<mds-icon name=\"...\">` with the slug so the icon is tree-shaken, cached, and inherits color from CSS.\n\n```html\n<!-- 🚫 INCORRECT -->\n<img src=\"/assets/img/svg/mi/baseline/add.svg\" alt=\"\">\n<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"...\"/></svg>\n\n<!-- ✅ CORRECT -->\n<mds-icon name=\"mi/baseline/add\"></mds-icon>\n```\n\n#### Do Not Slot `<mds-icon>` to Add an Icon to Another Component\n\n`<mds-icon>` has no slot and accepts no children. Other Magma components expose an `icon` prop that renders the SVG through the shared service with correct positioning. Slotting `<mds-icon>` into the default slot of another component is stripped or misaligned.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-button>\n <mds-icon name=\"mi/baseline/add\"></mds-icon>\n Aggiungi\n</mds-button>\n\n<!-- ✅ CORRECT -->\n<mds-button label=\"Aggiungi\" icon=\"mi/baseline/add\" variant=\"secondary\" tone=\"weak\"></mds-button>\n```\n\n#### Do Not Configure the Path with a Bare Relative Value\n\n`setSvgPath` (on `IconsSetService`, the element, or the static method) treats an absolute path (starting with `/`) as relative to `window.location.origin`, and accepts full URLs. A bare relative value like `assets/svg/` is *accepted* but resolved against the **current page URL**, so it silently breaks on nested routes (e.g. `/users/42/`). Always pass an absolute path or a full URL. Only an empty/whitespace value actually throws (`Svg path not recognize …`).\n\n```javascript\n// 🚫 FRAGILE - resolved relative to the current page, breaks on nested routes\nIconsSetService.setSvgPath('assets/svg/');\n\n// ✅ CORRECT - absolute path (prefixed with the origin)\nIconsSetService.setSvgPath('/assets/svg/');\n\n// ✅ CORRECT - full URL (for example a CDN)\nIconsSetService.setSvgPath('https://cdn.example.com/svg/');\n```\n\n#### Do Not Rely on `<mds-icon>` for an Accessible Label\n\n`<mds-icon>` renders its inner element with `aria-hidden=\"true\"`. An icon used as the sole indicator inside an interactive control or next to no visible text provides no accessible name by itself. The surrounding control must carry the accessible name.\n\n```html\n<!-- 🚫 INCORRECT - button has no accessible name -->\n<button>\n <mds-icon name=\"mi/baseline/delete\"></mds-icon>\n</button>\n\n<!-- ✅ CORRECT - use mds-button with aria-label -->\n<mds-button\n icon=\"mi/baseline/delete\"\n aria-label=\"Elimina elemento\"\n variant=\"error\"\n tone=\"text\"\n></mds-button>\n```\n\n#### Do Not Pierce the Shadow DOM to Style the SVG\n\nThe only supported styling surface is `::part(svg)` and CSS custom properties (color, fill) set on the host. Using `>>>`, `/deep/`, or descendant selectors on `.icon` or internal class names couples code to the Shadow DOM structure and breaks on minor releases.\n\n```css\n/* 🚫 INCORRECT */\nmds-icon >>> .icon svg path {\n fill: red;\n}\nmds-icon .icon {\n transform: rotate(45deg);\n}\n\n/* ✅ CORRECT */\nmds-icon {\n color: rgb(var(--status-error-05));\n}\nmds-icon::part(svg) {\n transform: rotate(45deg);\n}\n```\n\n#### Do Not Add `.svg` Extension to a Slug\n\nThe slug passed to `name` must not include the `.svg` extension - the service appends it when building the fetch URL. Adding the extension causes a double-`.svg` path (`mi/baseline/close.svg.svg`) that returns a 404.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-icon name=\"mi/baseline/close.svg\"></mds-icon>\n\n<!-- ✅ CORRECT -->\n<mds-icon name=\"mi/baseline/close\"></mds-icon>\n```\n\n#### Do Not Override Size with Fixed `width` and `height` HTML Attributes\n\n`<mds-icon>` is a custom element - HTML `width` and `height` attributes have no effect on it. Size is controlled by the CSS `width` property on the host (height follows from `aspect-ratio: 1`). Use a Tailwind width utility or a custom CSS rule.\n\n```html\n<!-- 🚫 INCORRECT - attributes are ignored -->\n<mds-icon name=\"mi/baseline/star\" width=\"32\" height=\"32\"></mds-icon>\n\n<!-- ✅ CORRECT - CSS width drives the size -->\n<mds-icon name=\"mi/baseline/star\" class=\"w-1200\"></mds-icon>\n```\n"
|
|
11449
11743
|
},
|
|
11450
11744
|
"props": [
|
|
11451
11745
|
{
|
|
@@ -11982,7 +12276,7 @@
|
|
|
11982
12276
|
},
|
|
11983
12277
|
"signature": "updateLang() => Promise<void>",
|
|
11984
12278
|
"parameters": [],
|
|
11985
|
-
"docs": "",
|
|
12279
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
11986
12280
|
"docsTags": []
|
|
11987
12281
|
}
|
|
11988
12282
|
],
|
|
@@ -13167,7 +13461,7 @@
|
|
|
13167
13461
|
{
|
|
13168
13462
|
"name": "validator",
|
|
13169
13463
|
"type": "(input: string) => MdsValidationErrors | null",
|
|
13170
|
-
"docs": ""
|
|
13464
|
+
"docs": "the validator function to add"
|
|
13171
13465
|
}
|
|
13172
13466
|
],
|
|
13173
13467
|
"references": {
|
|
@@ -13189,17 +13483,22 @@
|
|
|
13189
13483
|
{
|
|
13190
13484
|
"name": "validator",
|
|
13191
13485
|
"type": "(input: string) => MdsValidationErrors | null",
|
|
13192
|
-
"docs": ""
|
|
13486
|
+
"docs": "the validator function to add"
|
|
13193
13487
|
}
|
|
13194
13488
|
],
|
|
13195
|
-
"docs": "",
|
|
13196
|
-
"docsTags": [
|
|
13489
|
+
"docs": "Adds a validator to the input.",
|
|
13490
|
+
"docsTags": [
|
|
13491
|
+
{
|
|
13492
|
+
"name": "param",
|
|
13493
|
+
"text": "validator the validator function to add"
|
|
13494
|
+
}
|
|
13495
|
+
]
|
|
13197
13496
|
},
|
|
13198
13497
|
{
|
|
13199
13498
|
"name": "getErrors",
|
|
13200
13499
|
"returns": {
|
|
13201
13500
|
"type": "Promise<MdsValidationErrors | null>",
|
|
13202
|
-
"docs": ""
|
|
13501
|
+
"docs": "the validation errors, or `null` when valid"
|
|
13203
13502
|
},
|
|
13204
13503
|
"complexType": {
|
|
13205
13504
|
"signature": "() => Promise<MdsValidationErrors | null>",
|
|
@@ -13220,8 +13519,13 @@
|
|
|
13220
13519
|
},
|
|
13221
13520
|
"signature": "getErrors() => Promise<MdsValidationErrors | null>",
|
|
13222
13521
|
"parameters": [],
|
|
13223
|
-
"docs": "",
|
|
13224
|
-
"docsTags": [
|
|
13522
|
+
"docs": "Returns the current validation errors, or `null` if the value is valid.",
|
|
13523
|
+
"docsTags": [
|
|
13524
|
+
{
|
|
13525
|
+
"name": "returns",
|
|
13526
|
+
"text": "the validation errors, or `null` when valid"
|
|
13527
|
+
}
|
|
13528
|
+
]
|
|
13225
13529
|
},
|
|
13226
13530
|
{
|
|
13227
13531
|
"name": "getInputElement",
|
|
@@ -13314,7 +13618,7 @@
|
|
|
13314
13618
|
{
|
|
13315
13619
|
"name": "validator",
|
|
13316
13620
|
"type": "(input: string) => MdsValidationErrors | null",
|
|
13317
|
-
"docs": ""
|
|
13621
|
+
"docs": "the validator function to remove"
|
|
13318
13622
|
}
|
|
13319
13623
|
],
|
|
13320
13624
|
"references": {
|
|
@@ -13336,11 +13640,16 @@
|
|
|
13336
13640
|
{
|
|
13337
13641
|
"name": "validator",
|
|
13338
13642
|
"type": "(input: string) => MdsValidationErrors | null",
|
|
13339
|
-
"docs": ""
|
|
13643
|
+
"docs": "the validator function to remove"
|
|
13340
13644
|
}
|
|
13341
13645
|
],
|
|
13342
|
-
"docs": "",
|
|
13343
|
-
"docsTags": [
|
|
13646
|
+
"docs": "Removes a previously added validator from the input.",
|
|
13647
|
+
"docsTags": [
|
|
13648
|
+
{
|
|
13649
|
+
"name": "param",
|
|
13650
|
+
"text": "validator the validator function to remove"
|
|
13651
|
+
}
|
|
13652
|
+
]
|
|
13344
13653
|
},
|
|
13345
13654
|
{
|
|
13346
13655
|
"name": "setFocus",
|
|
@@ -13383,7 +13692,7 @@
|
|
|
13383
13692
|
},
|
|
13384
13693
|
"signature": "updateLang() => Promise<void>",
|
|
13385
13694
|
"parameters": [],
|
|
13386
|
-
"docs": "",
|
|
13695
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
13387
13696
|
"docsTags": []
|
|
13388
13697
|
}
|
|
13389
13698
|
],
|
|
@@ -14001,14 +14310,14 @@
|
|
|
14001
14310
|
},
|
|
14002
14311
|
"signature": "focusInput() => Promise<void>",
|
|
14003
14312
|
"parameters": [],
|
|
14004
|
-
"docs": "",
|
|
14313
|
+
"docs": "Sets focus on the underlying input element.",
|
|
14005
14314
|
"docsTags": []
|
|
14006
14315
|
},
|
|
14007
14316
|
{
|
|
14008
14317
|
"name": "getErrors",
|
|
14009
14318
|
"returns": {
|
|
14010
14319
|
"type": "Promise<MdsValidationErrors | null>",
|
|
14011
|
-
"docs": ""
|
|
14320
|
+
"docs": "the validation errors, or `null` when valid"
|
|
14012
14321
|
},
|
|
14013
14322
|
"complexType": {
|
|
14014
14323
|
"signature": "() => Promise<MdsValidationErrors | null>",
|
|
@@ -14029,8 +14338,13 @@
|
|
|
14029
14338
|
},
|
|
14030
14339
|
"signature": "getErrors() => Promise<MdsValidationErrors | null>",
|
|
14031
14340
|
"parameters": [],
|
|
14032
|
-
"docs": "",
|
|
14033
|
-
"docsTags": [
|
|
14341
|
+
"docs": "Returns the current validation errors, or `null` if the value is valid.",
|
|
14342
|
+
"docsTags": [
|
|
14343
|
+
{
|
|
14344
|
+
"name": "returns",
|
|
14345
|
+
"text": "the validation errors, or `null` when valid"
|
|
14346
|
+
}
|
|
14347
|
+
]
|
|
14034
14348
|
},
|
|
14035
14349
|
{
|
|
14036
14350
|
"name": "setValue",
|
|
@@ -14044,7 +14358,7 @@
|
|
|
14044
14358
|
{
|
|
14045
14359
|
"name": "value",
|
|
14046
14360
|
"type": "string",
|
|
14047
|
-
"docs": ""
|
|
14361
|
+
"docs": "the value to set, in ISO format (YYYY-MM-DD)"
|
|
14048
14362
|
}
|
|
14049
14363
|
],
|
|
14050
14364
|
"references": {
|
|
@@ -14060,11 +14374,16 @@
|
|
|
14060
14374
|
{
|
|
14061
14375
|
"name": "value",
|
|
14062
14376
|
"type": "string",
|
|
14063
|
-
"docs": ""
|
|
14377
|
+
"docs": "the value to set, in ISO format (YYYY-MM-DD)"
|
|
14064
14378
|
}
|
|
14065
14379
|
],
|
|
14066
|
-
"docs": "",
|
|
14067
|
-
"docsTags": [
|
|
14380
|
+
"docs": "Sets the input value.",
|
|
14381
|
+
"docsTags": [
|
|
14382
|
+
{
|
|
14383
|
+
"name": "param",
|
|
14384
|
+
"text": "value the value to set, in ISO format (YYYY-MM-DD)"
|
|
14385
|
+
}
|
|
14386
|
+
]
|
|
14068
14387
|
},
|
|
14069
14388
|
{
|
|
14070
14389
|
"name": "updateLang",
|
|
@@ -14085,7 +14404,7 @@
|
|
|
14085
14404
|
},
|
|
14086
14405
|
"signature": "updateLang() => Promise<void>",
|
|
14087
14406
|
"parameters": [],
|
|
14088
|
-
"docs": "",
|
|
14407
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
14089
14408
|
"docsTags": []
|
|
14090
14409
|
}
|
|
14091
14410
|
],
|
|
@@ -14101,7 +14420,7 @@
|
|
|
14101
14420
|
},
|
|
14102
14421
|
"cancelable": true,
|
|
14103
14422
|
"composed": true,
|
|
14104
|
-
"docs": "",
|
|
14423
|
+
"docs": "Emitted when the selected date value changes.",
|
|
14105
14424
|
"docsTags": []
|
|
14106
14425
|
},
|
|
14107
14426
|
{
|
|
@@ -14229,11 +14548,24 @@
|
|
|
14229
14548
|
"tag": "mds-input-date-range",
|
|
14230
14549
|
"readme": "# mds-input-date-range\n\n\n",
|
|
14231
14550
|
"docs": "",
|
|
14232
|
-
"docsTags": [
|
|
14551
|
+
"docsTags": [
|
|
14552
|
+
{
|
|
14553
|
+
"name": "slot",
|
|
14554
|
+
"text": "calendar-preselection - Add `HTML elements` or `components` to this slot."
|
|
14555
|
+
},
|
|
14556
|
+
{
|
|
14557
|
+
"name": "slot",
|
|
14558
|
+
"text": "start - Add `HTML elements` or `components` to this slot."
|
|
14559
|
+
},
|
|
14560
|
+
{
|
|
14561
|
+
"name": "slot",
|
|
14562
|
+
"text": "end - Add `HTML elements` or `components` to this slot."
|
|
14563
|
+
}
|
|
14564
|
+
],
|
|
14233
14565
|
"usage": {
|
|
14234
|
-
"1. Description": "The `<mds-input-date-range>` web component is the Magma Design System control for capturing a start/end date pair, composing two slotted `<mds-input-date>` fields with a shared pop-up `mds-calendar` (in range-picker mode) and optional quick-pick presets. It is a form-associated compound parent that orchestrates its children rather than rendering its own native inputs.\n\n#### Semantic Behavior\n\n- **Compound parent**: Expects exactly two `<mds-input-date>` children assigned to the `start` and `end` named slots; the host keeps both in sync as a single range - it is not meant to be used with a default (text) slot.\n- **Form association**: The submitted value is a JSON string `{ startDate, endDate }`; an empty range submits no value. On form reset it restores the start/end dates present at first load.\n- **Range coercion**: When both dates are valid and the end falls before the start, the end is snapped to equal the start, so the committed range is never inverted.\n- **Min/max guard**: If `max` is earlier than `min` at load, `max` is clamped up to `min`; both bounds are forwarded to the calendar to block out-of-range selection.\n- **Commit on blur**: Leaving the component validates the range, syncs the form value, and - when both dates are valid - emits selection.\n- **Calendar selection**: Picking a complete range in the pop-up calendar emits selection and, unless `delay` is `0`, auto-closes the dropdown after the delay.\n- **Preselection sync**: Slotted `mds-input-date-range-preselection` children act as quick-picks; activating one applies its range, and any external/calendar change re-evaluates which preset (if any) is marked selected.\n- **Emitted events**: `
|
|
14235
|
-
"2. Pattern": "Correct and idiomatic ways to use the `<mds-input-date-range>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the slot conventions documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Minimal Range Picker\n\nThe canonical form. Slot one [`mds-input-date`](../../mds-input-date) as `start` and another as `end`; the host wires them together, drives the shared calendar, and handles range validation automatically.\n\n```html\n<mds-input-date-range>\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Pre-filling the Range\n\nUse the `start-date` and `end-date` attributes to set an initial selection. Both expect ISO `YYYY-MM-DD` strings. Changing them later re-syncs the slotted inputs and the calendar automatically.\n\n```html\n<mds-input-date-range start-date=\"2026-01-01\" end-date=\"2026-01-31\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Constraining the Selectable Window\n\nUse `min` and `max` to block out-of-window dates in both the text inputs and the calendar. Both are ISO `YYYY-MM-DD` strings.\n\n```html\n<mds-input-date-range min=\"2026-01-01\" max=\"2026-12-31\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Listening to Range Events\n\n`
|
|
14236
|
-
"3. Antipattern": "Common incorrect uses of `<mds-input-date-range>`. Each entry pairs the wrong form with the right one and a one-line reason. System-wide rules (boolean-as-string, shadow piercing, Tailwind color utilities, raw native event listening) live in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md#system-level-anti-patterns) - they apply here too but are not repeated.\n\n#### Do Not Omit the Named Slots\n\nThe host renders two named slots (`start` and `end`) and wires them together internally. Without slotted `<mds-input-date>` children the component has no visible inputs and no data to commit.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range start-date=\"2026-01-01\" end-date=\"2026-01-31\">\n</mds-input-date-range>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range start-date=\"2026-01-01\" end-date=\"2026-01-31\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Do Not Slot Raw `<input>` Elements\n\nThe `start` and `end` slots expect [`mds-input-date`](../../mds-input-date) children. The host calls `.setValue()` and `.focusInput()` on the assigned element; a native `<input>` does not expose those methods and will break internal orchestration.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range>\n <input type=\"date\" slot=\"start\" />\n <input type=\"date\" slot=\"end\" />\n</mds-input-date-range>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range>\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Do Not Use Non-ISO Date Strings\n\n`startDate`, `endDate`, `min`, and `max` all require `YYYY-MM-DD` ISO format. Passing a locale-formatted string (e.g. `\"01/06/2026\"`) is silently invalid for Luxon's `DateTime.fromISO()` and leaves the range empty or unguarded.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range start-date=\"01/06/2026\" end-date=\"30/06/2026\" min=\"01/01/2026\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range start-date=\"2026-06-01\" end-date=\"2026-06-30\" min=\"2026-01-01\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Do Not Listen to Native `change` or `input` Events\n\nThe component emits `
|
|
14566
|
+
"1. Description": "The `<mds-input-date-range>` web component is the Magma Design System control for capturing a start/end date pair, composing two slotted `<mds-input-date>` fields with a shared pop-up `mds-calendar` (in range-picker mode) and optional quick-pick presets. It is a form-associated compound parent that orchestrates its children rather than rendering its own native inputs.\n\n#### Semantic Behavior\n\n- **Compound parent**: Expects exactly two `<mds-input-date>` children assigned to the `start` and `end` named slots; the host keeps both in sync as a single range - it is not meant to be used with a default (text) slot.\n- **Form association**: The submitted value is a JSON string `{ startDate, endDate }`; an empty range submits no value. On form reset it restores the start/end dates present at first load.\n- **Range coercion**: When both dates are valid and the end falls before the start, the end is snapped to equal the start, so the committed range is never inverted.\n- **Min/max guard**: If `max` is earlier than `min` at load, `max` is clamped up to `min`; both bounds are forwarded to the calendar to block out-of-range selection.\n- **Commit on blur**: Leaving the component validates the range, syncs the form value, and - when both dates are valid - emits selection.\n- **Calendar selection**: Picking a complete range in the pop-up calendar emits selection and, unless `delay` is `0`, auto-closes the dropdown after the delay.\n- **Preselection sync**: Slotted `mds-input-date-range-preselection` children act as quick-picks; activating one applies its range, and any external/calendar change re-evaluates which preset (if any) is marked selected.\n- **Emitted events**: `mdsInputDateRangeValueChange` fires when a full, valid range is committed (calendar pick or focus-out with two valid dates) and either bound actually changed since the last emit.\n- **Focus management**: Clicking the host or either field label focuses the corresponding date input; a built-in calendar icon button toggles the calendar dropdown.\n- **Localization**: The \"from\"/\"to\" field labels and the calendar honor the resolved language (el/en/es/it).\n\n#### Properties & Visual Configurations\n\n- **`startDate` / `endDate`** are the controlled range bounds in ISO `YYYY-MM-DD` form; changing them externally re-syncs the slotted inputs and the calendar.\n- **`min` / `max`** define the selectable window and are enforced both in the calendar and via the coercion rules above.\n- **`delay`** is the auto-close grace period (ms) after a complete selection; set it to `0` to keep the calendar open until the user dismisses it manually.\n",
|
|
14567
|
+
"2. Pattern": "Correct and idiomatic ways to use the `<mds-input-date-range>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the slot conventions documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Minimal Range Picker\n\nThe canonical form. Slot one [`mds-input-date`](../../mds-input-date) as `start` and another as `end`; the host wires them together, drives the shared calendar, and handles range validation automatically.\n\n```html\n<mds-input-date-range>\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Pre-filling the Range\n\nUse the `start-date` and `end-date` attributes to set an initial selection. Both expect ISO `YYYY-MM-DD` strings. Changing them later re-syncs the slotted inputs and the calendar automatically.\n\n```html\n<mds-input-date-range start-date=\"2026-01-01\" end-date=\"2026-01-31\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Constraining the Selectable Window\n\nUse `min` and `max` to block out-of-window dates in both the text inputs and the calendar. Both are ISO `YYYY-MM-DD` strings.\n\n```html\n<mds-input-date-range min=\"2026-01-01\" max=\"2026-12-31\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Listening to Range Events\n\n`mdsInputDateRangeValueChange` fires when a full, valid range is committed (calendar pick or focus-out with two valid dates) and either bound actually changed since the last emit. It delivers `{ startDate, endDate }` in `event.detail`.\n\n```html\n<mds-input-date-range id=\"periodo\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n\n<script>\n document.querySelector('#periodo').addEventListener('mdsInputDateRangeValueChange', (e) => {\n console.log('Intervallo selezionato:', e.detail.startDate, '-', e.detail.endDate);\n });\n</script>\n```\n\n#### Form Participation\n\n`<mds-input-date-range>` is form-associated. Add `name` and place it inside a `<form>`; the submitted value is a JSON string `{ startDate, endDate }`. An empty range submits no value. Form reset restores the dates set at first load.\n\n```html\n<form action=\"/filtra\" method=\"get\">\n <mds-input-date-range name=\"periodo\" start-date=\"2026-01-01\" end-date=\"2026-01-31\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n </mds-input-date-range>\n <mds-button type=\"submit\" label=\"Applica filtro\" variant=\"primary\" tone=\"strong\"></mds-button>\n <mds-button type=\"reset\" label=\"Reimposta\" variant=\"dark\" tone=\"outline\"></mds-button>\n</form>\n```\n\n#### Quick-Pick Preselections\n\nSlot one or more [`mds-input-date-range-preselection`](../../mds-input-date-range-preselection) elements into the component. They appear inside the calendar dropdown and act as one-click range shortcuts. The host marks the matching preset as selected whenever the current range matches.\n\n```html\n<mds-input-date-range>\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n <mds-input-date-range-preselection start=\"2026-06-02\" end=\"2026-06-08\">\n Questa settimana\n </mds-input-date-range-preselection>\n <mds-input-date-range-preselection start=\"2026-06-01\" end=\"2026-06-30\">\n Questo mese\n </mds-input-date-range-preselection>\n</mds-input-date-range>\n```\n\n#### Controlling the Auto-Close Delay\n\nBy default the calendar closes 500 ms after a complete range is picked. Set `delay=\"0\"` to keep it open until the user dismisses it manually, or increase the value for a longer grace period.\n\n```html\n<!-- Keep the calendar open after selection -->\n<mds-input-date-range delay=\"0\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n\n<!-- Longer grace period: 1 second -->\n<mds-input-date-range delay=\"1000\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Styling Customization\n\nStyle the component only through its documented `--mds-input-date-range-*` CSS custom properties. Set them on the host or a parent selector; use Magma color tokens via `rgb(var(--<token>))` so dark mode keeps working.\n\n```css\n.filtro-avanzato mds-input-date-range {\n --mds-input-date-range-background: rgb(var(--tone-neutral-02));\n --mds-input-date-range-icon-color: rgb(var(--variant-secondary-03));\n --mds-input-date-range-fields-gap: 0 var(--spacing-400);\n}\n```\n",
|
|
14568
|
+
"3. Antipattern": "Common incorrect uses of `<mds-input-date-range>`. Each entry pairs the wrong form with the right one and a one-line reason. System-wide rules (boolean-as-string, shadow piercing, Tailwind color utilities, raw native event listening) live in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md#system-level-anti-patterns) - they apply here too but are not repeated.\n\n#### Do Not Omit the Named Slots\n\nThe host renders two named slots (`start` and `end`) and wires them together internally. Without slotted `<mds-input-date>` children the component has no visible inputs and no data to commit.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range start-date=\"2026-01-01\" end-date=\"2026-01-31\">\n</mds-input-date-range>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range start-date=\"2026-01-01\" end-date=\"2026-01-31\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Do Not Slot Raw `<input>` Elements\n\nThe `start` and `end` slots expect [`mds-input-date`](../../mds-input-date) children. The host calls `.setValue()` and `.focusInput()` on the assigned element; a native `<input>` does not expose those methods and will break internal orchestration.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range>\n <input type=\"date\" slot=\"start\" />\n <input type=\"date\" slot=\"end\" />\n</mds-input-date-range>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range>\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Do Not Use Non-ISO Date Strings\n\n`startDate`, `endDate`, `min`, and `max` all require `YYYY-MM-DD` ISO format. Passing a locale-formatted string (e.g. `\"01/06/2026\"`) is silently invalid for Luxon's `DateTime.fromISO()` and leaves the range empty or unguarded.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range start-date=\"01/06/2026\" end-date=\"30/06/2026\" min=\"01/01/2026\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range start-date=\"2026-06-01\" end-date=\"2026-06-30\" min=\"2026-01-01\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Do Not Listen to Native `change` or `input` Events\n\nThe component emits `mdsInputDateRangeValueChange` as a documented custom event. Native `change` / `input` events originate from inside the shadow DOM and do not bubble out reliably.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range id=\"range\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n<script>\n document.querySelector('#range').addEventListener('change', handler);\n</script>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range id=\"range\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n<script>\n document.querySelector('#range').addEventListener('mdsInputDateRangeValueChange', handler);\n</script>\n```\n\n#### Do Not Set `delay=\"false\"` to Disable Auto-Close\n\n`delay` is a numeric prop, not a boolean. Setting it to the string `\"false\"` is truthy and parsed as `NaN`, which produces unexpected behavior. Use `delay=\"0\"` to keep the calendar open after selection.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range delay=\"false\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range delay=\"0\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n```\n\n#### Do Not Slot Preselection Elements Without the Component's Calendar\n\n[`mds-input-date-range-preselection`](../../mds-input-date-range-preselection) children must be direct slotted children of `<mds-input-date-range>`. Placing them outside the component, or inside a wrapper div, breaks the internal query that wires preset clicks to the range.\n\n```html\n<!-- 🚫 INCORRECT -->\n<mds-input-date-range>\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n</mds-input-date-range>\n<mds-input-date-range-preselection start=\"2026-06-01\" end=\"2026-06-30\">\n Questo mese\n</mds-input-date-range-preselection>\n\n<!-- ✅ CORRECT -->\n<mds-input-date-range>\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n <mds-input-date-range-preselection start=\"2026-06-01\" end=\"2026-06-30\">\n Questo mese\n </mds-input-date-range-preselection>\n</mds-input-date-range>\n```\n\n#### Do Not Omit `name` When Inside a Form\n\nWithout `name` the component is form-associated but submits no named field, so the date range is invisible to the server and to `FormData`.\n\n```html\n<!-- 🚫 INCORRECT -->\n<form action=\"/filtra\" method=\"get\">\n <mds-input-date-range>\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n </mds-input-date-range>\n</form>\n\n<!-- ✅ CORRECT -->\n<form action=\"/filtra\" method=\"get\">\n <mds-input-date-range name=\"periodo\">\n <mds-input-date slot=\"start\"></mds-input-date>\n <mds-input-date slot=\"end\"></mds-input-date>\n </mds-input-date-range>\n</form>\n```\n"
|
|
14237
14569
|
},
|
|
14238
14570
|
"props": [
|
|
14239
14571
|
{
|
|
@@ -14269,6 +14601,35 @@
|
|
|
14269
14601
|
"getter": false,
|
|
14270
14602
|
"setter": false
|
|
14271
14603
|
},
|
|
14604
|
+
{
|
|
14605
|
+
"name": "dualCalendar",
|
|
14606
|
+
"type": "boolean",
|
|
14607
|
+
"complexType": {
|
|
14608
|
+
"original": "boolean",
|
|
14609
|
+
"resolved": "boolean",
|
|
14610
|
+
"references": {}
|
|
14611
|
+
},
|
|
14612
|
+
"mutable": false,
|
|
14613
|
+
"attr": "dual-calendar",
|
|
14614
|
+
"reflectToAttr": true,
|
|
14615
|
+
"docs": "Enables the linked dual-calendar range picker behavior.",
|
|
14616
|
+
"docsTags": [
|
|
14617
|
+
{
|
|
14618
|
+
"name": "default",
|
|
14619
|
+
"text": "false"
|
|
14620
|
+
}
|
|
14621
|
+
],
|
|
14622
|
+
"default": "false",
|
|
14623
|
+
"values": [
|
|
14624
|
+
{
|
|
14625
|
+
"type": "boolean"
|
|
14626
|
+
}
|
|
14627
|
+
],
|
|
14628
|
+
"optional": false,
|
|
14629
|
+
"required": false,
|
|
14630
|
+
"getter": false,
|
|
14631
|
+
"setter": false
|
|
14632
|
+
},
|
|
14272
14633
|
{
|
|
14273
14634
|
"name": "endDate",
|
|
14274
14635
|
"type": "string",
|
|
@@ -14447,7 +14808,7 @@
|
|
|
14447
14808
|
{
|
|
14448
14809
|
"name": "event",
|
|
14449
14810
|
"type": "EventDate",
|
|
14450
|
-
"docs": ""
|
|
14811
|
+
"docs": "the preselection range to apply"
|
|
14451
14812
|
}
|
|
14452
14813
|
],
|
|
14453
14814
|
"references": {
|
|
@@ -14472,11 +14833,16 @@
|
|
|
14472
14833
|
{
|
|
14473
14834
|
"name": "event",
|
|
14474
14835
|
"type": "EventDate",
|
|
14475
|
-
"docs": ""
|
|
14836
|
+
"docs": "the preselection range to apply"
|
|
14476
14837
|
}
|
|
14477
14838
|
],
|
|
14478
|
-
"docs": "",
|
|
14479
|
-
"docsTags": [
|
|
14839
|
+
"docs": "Applies the given preselection range to the input.",
|
|
14840
|
+
"docsTags": [
|
|
14841
|
+
{
|
|
14842
|
+
"name": "param",
|
|
14843
|
+
"text": "event the preselection range to apply"
|
|
14844
|
+
}
|
|
14845
|
+
]
|
|
14480
14846
|
},
|
|
14481
14847
|
{
|
|
14482
14848
|
"name": "updateLang",
|
|
@@ -14497,25 +14863,11 @@
|
|
|
14497
14863
|
},
|
|
14498
14864
|
"signature": "updateLang() => Promise<void>",
|
|
14499
14865
|
"parameters": [],
|
|
14500
|
-
"docs": "",
|
|
14866
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
14501
14867
|
"docsTags": []
|
|
14502
14868
|
}
|
|
14503
14869
|
],
|
|
14504
14870
|
"events": [
|
|
14505
|
-
{
|
|
14506
|
-
"event": "mdsInputDateRangeSelect",
|
|
14507
|
-
"detail": "{ startDate: string; endDate: string; }",
|
|
14508
|
-
"bubbles": true,
|
|
14509
|
-
"complexType": {
|
|
14510
|
-
"original": "{\n startDate: string;\n endDate: string;\n }",
|
|
14511
|
-
"resolved": "{ startDate: string; endDate: string; }",
|
|
14512
|
-
"references": {}
|
|
14513
|
-
},
|
|
14514
|
-
"cancelable": true,
|
|
14515
|
-
"composed": true,
|
|
14516
|
-
"docs": "",
|
|
14517
|
-
"docsTags": []
|
|
14518
|
-
},
|
|
14519
14871
|
{
|
|
14520
14872
|
"event": "mdsInputDateRangeValueChange",
|
|
14521
14873
|
"detail": "{ startDate: string; endDate: string; }",
|
|
@@ -14527,7 +14879,7 @@
|
|
|
14527
14879
|
},
|
|
14528
14880
|
"cancelable": true,
|
|
14529
14881
|
"composed": true,
|
|
14530
|
-
"docs": "",
|
|
14882
|
+
"docs": "Emitted when the selected start or end date changes.",
|
|
14531
14883
|
"docsTags": []
|
|
14532
14884
|
}
|
|
14533
14885
|
],
|
|
@@ -14538,6 +14890,11 @@
|
|
|
14538
14890
|
"annotation": "prop",
|
|
14539
14891
|
"docs": "Sets the background-color of the component"
|
|
14540
14892
|
},
|
|
14893
|
+
{
|
|
14894
|
+
"name": "--mds-input-date-range-calendar-width",
|
|
14895
|
+
"annotation": "prop",
|
|
14896
|
+
"docs": "Sets the width of each calendar shown in the dropdown"
|
|
14897
|
+
},
|
|
14541
14898
|
{
|
|
14542
14899
|
"name": "--mds-input-date-range-fields-firefox-justify-content",
|
|
14543
14900
|
"annotation": "prop",
|
|
@@ -14569,32 +14926,45 @@
|
|
|
14569
14926
|
"docs": "Sets the variant colors of the component"
|
|
14570
14927
|
}
|
|
14571
14928
|
],
|
|
14572
|
-
"slots": [
|
|
14929
|
+
"slots": [
|
|
14930
|
+
{
|
|
14931
|
+
"name": "calendar-preselection",
|
|
14932
|
+
"docs": "Add `HTML elements` or `components` to this slot."
|
|
14933
|
+
},
|
|
14934
|
+
{
|
|
14935
|
+
"name": "end",
|
|
14936
|
+
"docs": "Add `HTML elements` or `components` to this slot."
|
|
14937
|
+
},
|
|
14938
|
+
{
|
|
14939
|
+
"name": "start",
|
|
14940
|
+
"docs": "Add `HTML elements` or `components` to this slot."
|
|
14941
|
+
}
|
|
14942
|
+
],
|
|
14573
14943
|
"parts": [],
|
|
14574
14944
|
"states": [],
|
|
14575
14945
|
"dependents": [],
|
|
14576
14946
|
"dependencies": [
|
|
14947
|
+
"mds-calendar",
|
|
14577
14948
|
"mds-text",
|
|
14578
14949
|
"mds-button",
|
|
14579
|
-
"mds-dropdown"
|
|
14580
|
-
"mds-calendar"
|
|
14950
|
+
"mds-dropdown"
|
|
14581
14951
|
],
|
|
14582
14952
|
"dependencyGraph": {
|
|
14583
14953
|
"mds-input-date-range": [
|
|
14954
|
+
"mds-calendar",
|
|
14584
14955
|
"mds-text",
|
|
14585
14956
|
"mds-button",
|
|
14586
|
-
"mds-dropdown"
|
|
14587
|
-
|
|
14957
|
+
"mds-dropdown"
|
|
14958
|
+
],
|
|
14959
|
+
"mds-calendar": [
|
|
14960
|
+
"mds-button",
|
|
14961
|
+
"mds-calendar-cell"
|
|
14588
14962
|
],
|
|
14589
14963
|
"mds-button": [
|
|
14590
14964
|
"mds-spinner",
|
|
14591
14965
|
"mds-icon",
|
|
14592
14966
|
"mds-text"
|
|
14593
14967
|
],
|
|
14594
|
-
"mds-calendar": [
|
|
14595
|
-
"mds-button",
|
|
14596
|
-
"mds-calendar-cell"
|
|
14597
|
-
],
|
|
14598
14968
|
"mds-calendar-cell": [
|
|
14599
14969
|
"mds-button"
|
|
14600
14970
|
]
|
|
@@ -14606,7 +14976,12 @@
|
|
|
14606
14976
|
"tag": "mds-input-date-range-preselection",
|
|
14607
14977
|
"readme": "# mds-input-date-range-preselection\n\n\n",
|
|
14608
14978
|
"docs": "",
|
|
14609
|
-
"docsTags": [
|
|
14979
|
+
"docsTags": [
|
|
14980
|
+
{
|
|
14981
|
+
"name": "slot",
|
|
14982
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
14983
|
+
}
|
|
14984
|
+
],
|
|
14610
14985
|
"usage": {
|
|
14611
14986
|
"1. Description": "The `<mds-input-date-range-preselection>` web component is a compound child of [`<mds-input-date-range>`](../../mds-input-date-range). It renders a clickable shortcut button (a quick range like \"Last 7 days\" or \"This month\") that, when activated, fills the parent's date range with a predefined `start`/`end` pair instead of requiring the user to pick dates manually on the calendar.\n\n#### Semantic Behavior\n\n- **Compound child only**: Must be placed as a direct child of `<mds-input-date-range>`; it auto-assigns itself to the parent's `calendar-preselection` slot and is not used standalone or mixed with other child types.\n- **Click drives the parent**: On click it applies its `start`/`end` range to the parent, which populates and validates the range, syncs the form value, and closes the dropdown.\n- **Selection is parent-managed**: Choosing one preselection clears the active state on its siblings and marks the active one; the parent also re-marks a preselection as selected whenever the current range matches its dates (including single-day matches where `end` is undefined).\n\n#### Properties & Visual Configurations\n\n- **`start`** (required) and **`end`**: Define the ISO date range this shortcut applies. Provide both for a true range; omit `end` to express a single-day preselection.\n- **`selected`**: Reflects whether this preselection is currently the active one. Treat it as read-only in normal use - the parent sets it; do not hand-toggle it to drive selection.\n\nThe default slot holds the human-readable label. Visual states (default, hover, selected) are themed through the `--mds-date-range-preselection-*` CSS custom properties listed in `readme.md`; the component does not expose `variant`/`tone` props of its own.\n",
|
|
14612
14987
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-input-date-range-preselection>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the variant / tone ladders documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Basic Preset Range Shortcuts\n\nPlace one or more `<mds-input-date-range-preselection>` elements as direct children of [`<mds-input-date-range>`](../../mds-input-date-range). Each element needs a `start` date (ISO format) and a human-readable label in its default slot. The component auto-assigns itself to the parent's `calendar-preselection` slot.\n\n```html\n<mds-input-date-range name=\"periodo\">\n <mds-input-date-range-preselection start=\"2025-06-01\" end=\"2025-06-30\">\n Questo mese\n </mds-input-date-range-preselection>\n <mds-input-date-range-preselection start=\"2025-05-01\" end=\"2025-05-31\">\n Mese scorso\n </mds-input-date-range-preselection>\n <mds-input-date-range-preselection start=\"2025-01-01\" end=\"2025-12-31\">\n Anno corrente\n </mds-input-date-range-preselection>\n</mds-input-date-range>\n```\n\n#### Single-Day Shortcut (omit `end`)\n\nOmit the `end` attribute to create a single-day preselection. The parent matches it as active whenever its current range is a single day equal to `start`.\n\n```html\n<mds-input-date-range name=\"data-singola\">\n <mds-input-date-range-preselection start=\"2025-06-05\">\n Oggi\n </mds-input-date-range-preselection>\n</mds-input-date-range>\n```\n\n#### Multiple Preset Windows Together\n\nGroup semantically related shortcuts - short-term, medium-term, and long-term - so users can jump to the most common reporting windows without opening the calendar. Only one item carries `selected` at a time; the parent manages it automatically.\n\n```html\n<mds-input-date-range name=\"finestra-report\">\n <mds-input-date-range-preselection start=\"2025-05-29\" end=\"2025-06-04\">\n Ultima settimana\n </mds-input-date-range-preselection>\n <mds-input-date-range-preselection start=\"2025-05-01\" end=\"2025-05-31\">\n Ultimo mese\n </mds-input-date-range-preselection>\n <mds-input-date-range-preselection start=\"2025-01-01\" end=\"2025-06-30\">\n Ultimo semestre\n </mds-input-date-range-preselection>\n <mds-input-date-range-preselection start=\"2024-01-01\" end=\"2024-12-31\">\n Anno precedente\n </mds-input-date-range-preselection>\n</mds-input-date-range>\n```\n\n#### Reading the Selected Value via Parent Events\n\nListen to the parent's `mdsInputDateRangeSelect` event to read the chosen range. The preselection component itself fires no event - the parent owns the value contract.\n\n```html\n<mds-input-date-range id=\"date-range\" name=\"periodo\">\n <mds-input-date-range-preselection start=\"2025-06-01\" end=\"2025-06-30\">\n Questo mese\n </mds-input-date-range-preselection>\n</mds-input-date-range>\n\n<script>\n document.getElementById('date-range').addEventListener('mdsInputDateRangeSelect', (e) => {\n console.log(e.detail.startDate, e.detail.endDate);\n });\n</script>\n```\n\n#### Styling Customization\n\nOverride the three visual states - default, hover, and selected - through the documented `--mds-date-range-preselection-*` CSS custom properties. Set them on the host element or a parent selector; use Magma color tokens with `rgb(var(--<token>))` so dark mode keeps working.\n\n```css\n.dashboard mds-input-date-range-preselection {\n --mds-date-range-preselection-default-background: rgb(var(--tone-neutral-07) / 0.1);\n --mds-date-range-preselection-default-border: var(--tone-neutral-06);\n --mds-date-range-preselection-selected-background: rgb(var(--variant-secondary-03));\n --mds-date-range-preselection-selected-border: var(--variant-secondary-03);\n --mds-date-range-preselection-selected-color: rgb(var(--tone-neutral));\n}\n```\n",
|
|
@@ -14739,7 +15114,12 @@
|
|
|
14739
15114
|
"docs": "Text color used in the selected preselection state"
|
|
14740
15115
|
}
|
|
14741
15116
|
],
|
|
14742
|
-
"slots": [
|
|
15117
|
+
"slots": [
|
|
15118
|
+
{
|
|
15119
|
+
"name": "",
|
|
15120
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
15121
|
+
}
|
|
15122
|
+
],
|
|
14743
15123
|
"parts": [],
|
|
14744
15124
|
"states": [],
|
|
14745
15125
|
"dependents": [],
|
|
@@ -14763,7 +15143,12 @@
|
|
|
14763
15143
|
"tag": "mds-input-field",
|
|
14764
15144
|
"readme": "# mds-input-field\n\n\n\nThis is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.\n",
|
|
14765
15145
|
"docs": "This is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.",
|
|
14766
|
-
"docsTags": [
|
|
15146
|
+
"docsTags": [
|
|
15147
|
+
{
|
|
15148
|
+
"name": "slot",
|
|
15149
|
+
"text": "- Add the native input `HTML element` to this slot."
|
|
15150
|
+
}
|
|
15151
|
+
],
|
|
14767
15152
|
"usage": {
|
|
14768
15153
|
"1. Description": "The `<mds-input-field>` web component is the form-field wrapper of the Magma Design System. It does not render an input itself; instead it decorates a slotted `<mds-input>` (or similar control) with a top label and a bottom message area, and reacts to the control's validation lifecycle. It plays the role the native `<label>` + helper-text grouping plays around an `<input>`.\n\n#### Semantic Behavior\n\n- **Compound parent**: The interactive control is supplied through the default slot; the field is not used standalone, and an empty slot throws `Mds input not found` at load.\n- **Form association**: The field participates in the surrounding `<form>` through the control it wraps, requiring no extra wiring.\n- **Validation-driven state**: It listens for the slotted control's `mdsInputValidation` event. When the control reports errors it switches `variant` to `'error'` and shows the joined error strings in `message`; otherwise it sets `variant` to `'success'` and clears `message`.\n- **Message rendering**: `message` is split on `;` and each segment is rendered as a separate caption line, so multiple validation messages stack vertically.\n\n#### Properties & Visual Configurations\n\n- **`message`** is the helper/error text shown under the control. It is author-set initially but is overwritten by the validation cycle once the slotted control emits validation, so a manually set message persists only while the control reports no errors.\n- **`variant`** drives the field's status colouring. It is not the full theme ladder: the allowed set is the input-specific variant ladder (`'ai'`, `'primary'`, plus the status values `'error'`, `'info'`, `'success'`, `'warning'`) defined in [`projects/stencil/SPEC.md`](../../../../SPEC.md#tone-and-variant-system). It defaults to `'primary'` and is normally managed automatically by validation rather than set by hand.\n",
|
|
14769
15154
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-input-field>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the variant / tone ladders documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Basic Labeled Input\n\nThe canonical form. Wrap [`mds-input`](../../mds-input) in `<mds-input-field>` and set `label` for the visible field caption. The slot must contain exactly one `<mds-input>` - the field throws at load if the slot is empty.\n\n```html\n<mds-input-field label=\"Nome e cognome\">\n <mds-input name=\"fullName\" placeholder=\"Es: Mario Rossi\"></mds-input>\n</mds-input-field>\n```\n\n#### Input with a Static Helper Message\n\nSet `message` to show a persistent hint below the control. The message disappears once the slotted input emits its first `mdsInputValidation` event, so use this only for pre-validation guidance.\n\n```html\n<mds-input-field label=\"Codice fiscale\" message=\"16 caratteri alfanumerici\">\n <mds-input name=\"cf\" type=\"cf\" placeholder=\"Es: MRCRSS83B21D704L\"></mds-input>\n</mds-input-field>\n```\n\n#### Validation-Driven State\n\nWhen `<mds-input>` carries validation rules (e.g. `required`, `type=\"cf\"`, or `pattern`), `<mds-input-field>` listens for `mdsInputValidation` and automatically sets `variant` to `'error'` (showing joined error messages) or `'success'` (clearing the message). No event wiring is needed - just add the validation attributes to the slotted input.\n\n```html\n<mds-input-field label=\"Indirizzo email\">\n <mds-input name=\"email\" type=\"email\" required placeholder=\"Es: mario@esempio.it\"></mds-input>\n</mds-input-field>\n```\n\n#### Explicit Variant for Initial Status\n\nIf the field must start in a known non-default state - for example a server-side validation result rendered on page load - set `variant` directly. The validation cycle will overwrite it once the user interacts.\n\n```html\n<!-- Server returned an error before page load -->\n<mds-input-field\n label=\"Username\"\n variant=\"error\"\n message=\"Username gia in uso\"\n>\n <mds-input name=\"username\" value=\"mario.rossi\"></mds-input>\n</mds-input-field>\n```\n\n#### Field with an Action Button\n\nThe default slot accepts multiple elements. The first child grows to fill the available width; subsequent children shrink to their natural size. Use this to pair an input with a companion [`mds-button`](../../mds-button).\n\n```html\n<mds-input-field label=\"Cerca per nome\">\n <mds-input name=\"query\" placeholder=\"Es: Mario Rossi\"></mds-input>\n <mds-button icon=\"mi/baseline/search\" size=\"lg\" aria-label=\"Cerca\"></mds-button>\n</mds-input-field>\n```\n\n#### Inside a Form\n\n`<mds-input-field>` is form-associated and passes native form participation through to the slotted control. Place it inside a `<form>` with a submit button; the field requires no extra wiring.\n\n```html\n<form action=\"/registrazione\" method=\"post\">\n <mds-input-field label=\"Nome\">\n <mds-input name=\"firstName\" required placeholder=\"Es: Mario\"></mds-input>\n </mds-input-field>\n\n <mds-input-field label=\"Cognome\">\n <mds-input name=\"lastName\" required placeholder=\"Es: Rossi\"></mds-input>\n </mds-input-field>\n\n <mds-button type=\"submit\" label=\"Registrati\" variant=\"primary\" tone=\"strong\"></mds-button>\n</form>\n```\n\n#### Styling Customization\n\nAdjust the message area colors through the two documented `--mds-input-field-*` CSS custom properties. Use Magma color tokens via `rgb(var(--<token>))` so dark mode and high-contrast modes keep working.\n\n```css\n.field-highlight mds-input-field {\n --mds-input-field-message-color: rgb(var(--variant-primary-02));\n --mds-input-field-message-background: rgb(var(--variant-primary-09));\n}\n```\n",
|
|
@@ -14898,7 +15283,12 @@
|
|
|
14898
15283
|
"docs": "Sets the message text color of the component"
|
|
14899
15284
|
}
|
|
14900
15285
|
],
|
|
14901
|
-
"slots": [
|
|
15286
|
+
"slots": [
|
|
15287
|
+
{
|
|
15288
|
+
"name": "",
|
|
15289
|
+
"docs": "Add the native input `HTML element` to this slot."
|
|
15290
|
+
}
|
|
15291
|
+
],
|
|
14902
15292
|
"parts": [
|
|
14903
15293
|
{
|
|
14904
15294
|
"name": "content",
|
|
@@ -15066,6 +15456,10 @@
|
|
|
15066
15456
|
{
|
|
15067
15457
|
"name": "part",
|
|
15068
15458
|
"text": "track - The element containing the track of the input range"
|
|
15459
|
+
},
|
|
15460
|
+
{
|
|
15461
|
+
"name": "slot",
|
|
15462
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
15069
15463
|
}
|
|
15070
15464
|
],
|
|
15071
15465
|
"usage": {
|
|
@@ -15327,7 +15721,12 @@
|
|
|
15327
15721
|
"docs": "Sets the track width and height"
|
|
15328
15722
|
}
|
|
15329
15723
|
],
|
|
15330
|
-
"slots": [
|
|
15724
|
+
"slots": [
|
|
15725
|
+
{
|
|
15726
|
+
"name": "",
|
|
15727
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
15728
|
+
}
|
|
15729
|
+
],
|
|
15331
15730
|
"parts": [
|
|
15332
15731
|
{
|
|
15333
15732
|
"name": "header",
|
|
@@ -15363,6 +15762,10 @@
|
|
|
15363
15762
|
{
|
|
15364
15763
|
"name": "part",
|
|
15365
15764
|
"text": "tip-top - Selects the verbose status of input on top of element"
|
|
15765
|
+
},
|
|
15766
|
+
{
|
|
15767
|
+
"name": "slot",
|
|
15768
|
+
"text": "- Add `option` `HTML elements` or `components` to this slot."
|
|
15366
15769
|
}
|
|
15367
15770
|
],
|
|
15368
15771
|
"usage": {
|
|
@@ -15775,7 +16178,7 @@
|
|
|
15775
16178
|
},
|
|
15776
16179
|
"signature": "updateLang() => Promise<void>",
|
|
15777
16180
|
"parameters": [],
|
|
15778
|
-
"docs": "",
|
|
16181
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
15779
16182
|
"docsTags": []
|
|
15780
16183
|
}
|
|
15781
16184
|
],
|
|
@@ -15850,7 +16253,12 @@
|
|
|
15850
16253
|
"docs": "Base color used to derive all select component visual states"
|
|
15851
16254
|
}
|
|
15852
16255
|
],
|
|
15853
|
-
"slots": [
|
|
16256
|
+
"slots": [
|
|
16257
|
+
{
|
|
16258
|
+
"name": "",
|
|
16259
|
+
"docs": "Add `option` `HTML elements` or `components` to this slot."
|
|
16260
|
+
}
|
|
16261
|
+
],
|
|
15854
16262
|
"parts": [
|
|
15855
16263
|
{
|
|
15856
16264
|
"name": "select",
|
|
@@ -15886,7 +16294,7 @@
|
|
|
15886
16294
|
"docsTags": [
|
|
15887
16295
|
{
|
|
15888
16296
|
"name": "slot",
|
|
15889
|
-
"text": "
|
|
16297
|
+
"text": "- Put text string or elements here"
|
|
15890
16298
|
}
|
|
15891
16299
|
],
|
|
15892
16300
|
"usage": {
|
|
@@ -16335,7 +16743,7 @@
|
|
|
16335
16743
|
},
|
|
16336
16744
|
"signature": "updateLang() => Promise<void>",
|
|
16337
16745
|
"parameters": [],
|
|
16338
|
-
"docs": "",
|
|
16746
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
16339
16747
|
"docsTags": []
|
|
16340
16748
|
}
|
|
16341
16749
|
],
|
|
@@ -16502,7 +16910,7 @@
|
|
|
16502
16910
|
],
|
|
16503
16911
|
"slots": [
|
|
16504
16912
|
{
|
|
16505
|
-
"name": "
|
|
16913
|
+
"name": "",
|
|
16506
16914
|
"docs": "Put text string or elements here"
|
|
16507
16915
|
}
|
|
16508
16916
|
],
|
|
@@ -16535,7 +16943,12 @@
|
|
|
16535
16943
|
"tag": "mds-input-tip",
|
|
16536
16944
|
"readme": "# mds-input-tip\n\n\n",
|
|
16537
16945
|
"docs": "",
|
|
16538
|
-
"docsTags": [
|
|
16946
|
+
"docsTags": [
|
|
16947
|
+
{
|
|
16948
|
+
"name": "slot",
|
|
16949
|
+
"text": "- Add `mds-input-tip-item` elements or `components` to this slot."
|
|
16950
|
+
}
|
|
16951
|
+
],
|
|
16539
16952
|
"usage": {
|
|
16540
16953
|
"1. Description": "The `<mds-input-tip>` web component is the floating helper container of the Magma Design System input family: it overlays an input field and reveals supplementary content (slotted `mds-input-tip-item` chips, hints, or actions) that expands when the field becomes active. It is a presentational compound child positioned against its parent input rather than a standalone control.\n\n#### Semantic Behavior\n\n- **Floating overlay**: The tip floats over the parent input's edge without intercepting interaction; slotted children opt back into pointer events as needed.\n- **Active expansion**: Setting `active` slides the tip into its expanded position; clearing it collapses the tip back flush with the input.\n- **Empty collapse**: When the host has no slotted content it is hidden entirely, so an unused tip occupies no space.\n- **Default slot is content**: The single default slot carries the tip's arbitrary children; there are no named slots, events, form association, or focus management of its own.\n\n#### Properties & Visual Configurations\n\n- **`active`** drives the expanded vs. collapsed state and is normally toggled by the parent input in response to focus, not set manually.\n- **`position`** selects which edge of the input the tip anchors to and therefore the direction it expands: `'top'` (default) sits above the field, `'bottom'` sits below it.\n",
|
|
16541
16954
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-input-tip>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the compound component rules in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n`<mds-input-tip>` is an internal compound child used inside [`mds-input`](../../mds-input), [`mds-input-date`](../../mds-input-date), and [`mds-input-select`](../../mds-input-select). It is not meant for standalone use. The patterns below show what the parent components render internally, which is useful when building a custom input wrapper that needs the same behavior.\n\n#### Status Chips Above the Field (position=\"top\")\n\nPosition the tip above the input with `position=\"top\"` (the default). Slot [`mds-input-tip-item`](../../mds-input-tip-item) children for each status badge to show. The `active` prop slides the tip into its expanded position when the field is focused.\n\n```html\n<div style=\"position: relative;\">\n <mds-input-tip position=\"top\" active>\n <mds-input-tip-item variant=\"required\"></mds-input-tip-item>\n </mds-input-tip>\n <input type=\"text\" placeholder=\"Campo obbligatorio\" />\n</div>\n```\n\n#### Hint and Counter Below the Field (position=\"bottom\")\n\nUse `position=\"bottom\"` to anchor the tip below the input. This is the canonical placement for inline helper text and character-count feedback.\n\n```html\n<div style=\"position: relative;\">\n <mds-input-tip position=\"bottom\" active>\n <mds-input-tip-item variant=\"text\">\n Inserisci almeno 8 caratteri\n </mds-input-tip-item>\n <mds-input-tip-item variant=\"count-incomplete\">\n 3 / 8\n </mds-input-tip-item>\n </mds-input-tip>\n <input type=\"text\" />\n</div>\n```\n\n#### Toggling the Active State on Focus\n\nDrive `active` from a focus/blur handler to animate the tip in and out. Setting `active` slides the tip; removing it (or leaving it unset) collapses it back flush with the input edge.\n\n```html\n<div style=\"position: relative;\" id=\"wrapper\">\n <mds-input-tip position=\"top\" id=\"tip\">\n <mds-input-tip-item variant=\"required\"></mds-input-tip-item>\n </mds-input-tip>\n <input\n type=\"text\"\n id=\"field\"\n placeholder=\"Nome utente\"\n />\n</div>\n\n<script>\n const field = document.getElementById('field');\n const tip = document.getElementById('tip');\n field.addEventListener('focus', () => { tip.active = true; });\n field.addEventListener('blur', () => { tip.active = undefined; });\n</script>\n```\n\n#### Disabled and Read-only State Chips\n\nWhen the parent input is disabled or read-only, pass the matching `variant` to show a system-translated label. The `expanded` prop on the item keeps it permanently visible even without focus.\n\n```html\n<div style=\"position: relative;\">\n <mds-input-tip position=\"top\">\n <mds-input-tip-item variant=\"disabled\" expanded></mds-input-tip-item>\n </mds-input-tip>\n <input type=\"text\" disabled placeholder=\"Campo disabilitato\" />\n</div>\n```\n\n#### Required-field Success Feedback\n\nSwitch the `<mds-input-tip-item>` variant to `required-success` once the field passes validation. The item renders a checkmark icon instead of the \"obbligatorio\" label.\n\n```html\n<div style=\"position: relative;\">\n <mds-input-tip position=\"top\" active>\n <mds-input-tip-item variant=\"required-success\" expanded></mds-input-tip-item>\n </mds-input-tip>\n <input type=\"text\" value=\"Valore valido\" />\n</div>\n```\n\n#### Multiple Tip Items in One Container\n\nSlot several `<mds-input-tip-item>` elements inside a single `<mds-input-tip>`. The container lays them out in a row and hides itself automatically when all slots are empty.\n\n```html\n<div style=\"position: relative;\">\n <mds-input-tip position=\"bottom\" active>\n <mds-input-tip-item variant=\"text\">\n Solo lettere e numeri\n </mds-input-tip-item>\n <mds-input-tip-item variant=\"count-almost\">\n 18 / 20\n </mds-input-tip-item>\n </mds-input-tip>\n <input type=\"text\" />\n</div>\n```\n\n#### CSS Customization\n\nStyle the tip only through the documented `--mds-input-tip-*` CSS custom properties. Set them on the host or a parent selector; use Magma tokens via `rgb(var(--<token>))` so dark mode keeps working.\n\n```css\n.custom-input-wrapper mds-input-tip {\n --mds-input-tip-background: rgb(var(--tone-neutral-02));\n --mds-input-tip-vertical-offset: var(--spacing-200);\n --mds-input-tip-horizontal-offset: var(--spacing-300);\n --mds-input-tip-horizontal-offset-focused: 4px;\n}\n```\n",
|
|
@@ -16649,7 +17062,12 @@
|
|
|
16649
17062
|
"docs": "Vertical offset of the input tip"
|
|
16650
17063
|
}
|
|
16651
17064
|
],
|
|
16652
|
-
"slots": [
|
|
17065
|
+
"slots": [
|
|
17066
|
+
{
|
|
17067
|
+
"name": "",
|
|
17068
|
+
"docs": "Add `mds-input-tip-item` elements or `components` to this slot."
|
|
17069
|
+
}
|
|
17070
|
+
],
|
|
16653
17071
|
"parts": [],
|
|
16654
17072
|
"states": [],
|
|
16655
17073
|
"dependents": [
|
|
@@ -16676,7 +17094,12 @@
|
|
|
16676
17094
|
"tag": "mds-input-tip-item",
|
|
16677
17095
|
"readme": "# mds-input-tip-item\n\n\n",
|
|
16678
17096
|
"docs": "",
|
|
16679
|
-
"docsTags": [
|
|
17097
|
+
"docsTags": [
|
|
17098
|
+
{
|
|
17099
|
+
"name": "slot",
|
|
17100
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
17101
|
+
}
|
|
17102
|
+
],
|
|
16680
17103
|
"usage": {
|
|
16681
17104
|
"1. Description": "The `<mds-input-tip-item>` web component is a single contextual hint row rendered inside the [`<mds-input-tip>`](../../mds-input-tip) container. It represents one validation/status message of a form field (required, read-only, disabled, character count, or free text) and is orchestrated by the input components (`<mds-input>`, `<mds-input-date>`, `<mds-input-select>`) that own the tip; it has no standalone HTML equivalent.\n\n#### Semantic Behavior\n\n- **Compound child only**: It must be a direct slot child of `<mds-input-tip>` and is not used standalone; the host input decides which items exist and toggles their `expanded` state.\n- **Variant drives the entire render**: The `variant` is not a style modifier but a content switch - each value produces a different body (slotted text, a localized status label, or the `done` success icon), so changing `variant` changes what the item shows, not just how it looks.\n- **Self-localized labels**: For `required`, `readonly`, and `disabled` the visible text comes from the component's own i18n dictionary (en/it/es/el); these variants ignore slotted content. `text` and the `count-*` variants instead render the default slot provided by the parent.\n- **Expanded toggling**: `expanded` is driven by the parent (often bound to the field's focus state).\n- **No interactivity**: It carries no role, ARIA state, focus handling, or emitted events - it is a passive display row whose state is fully driven from above.\n\n#### Properties & Visual Configurations\n\n- **`variant`** is the only meaningful prop and selects both the message type and its source of text. Use `required` / `required-success` for required-field feedback (the success value swaps the label for a checkmark icon), `readonly` and `disabled` for field-state notices (auto-labeled from the dictionary), `text` for an arbitrary slotted hint, and the `count-*` family (`count-empty`, `count-incomplete`, `count-almost`, `count-almost-full`, `count-full`) for character-count feedback whose label text is slotted in by the parent. The full enumerated list lives in `readme.md` and the typed dictionary under `meta/`.\n- **`expanded`** controls visibility/expansion within the tip and is intended to be driven by the parent rather than set by hand.\n\nStyling hooks (`--mds-input-tip-item-background`, `--mds-input-tip-item-color`, `--mds-input-tip-item-icon-color`) are documented in `readme.md`.\n",
|
|
16682
17105
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-input-tip-item>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the variant system documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Required-Field Hint\n\nThe most common use. Place one `<mds-input-tip-item variant=\"required\">` inside the parent [`<mds-input-tip>`](../../mds-input-tip) to signal that the field is mandatory. The localized label (\"Required\" / \"Obbligatorio\" / ...) comes from the component's own i18n dictionary - do not slot text.\n\n```html\n<mds-input-tip active>\n <mds-input-tip-item variant=\"required\" expanded></mds-input-tip-item>\n</mds-input-tip>\n```\n\n#### Required Field Satisfied (Success State)\n\nWhen the required condition is met, switch to `variant=\"required-success\"`. The text label is replaced by a checkmark icon - no slot is needed or expected.\n\n```html\n<mds-input-tip active>\n <mds-input-tip-item variant=\"required-success\" expanded></mds-input-tip-item>\n</mds-input-tip>\n```\n\n#### Read-Only and Disabled State Notices\n\nUse `variant=\"readonly\"` or `variant=\"disabled\"` to communicate field-state context. Both are self-labeled from the i18n dictionary and ignore any slotted content.\n\n```html\n<!-- Campo in sola lettura -->\n<mds-input-tip active>\n <mds-input-tip-item variant=\"readonly\" expanded></mds-input-tip-item>\n</mds-input-tip>\n\n<!-- Campo disabilitato -->\n<mds-input-tip active>\n <mds-input-tip-item variant=\"disabled\" expanded></mds-input-tip-item>\n</mds-input-tip>\n```\n\n#### Arbitrary Hint Text via `variant=\"text\"`\n\nUse `variant=\"text\"` when you need to show a free-form helper message. Slot the text string directly; no nested HTML is accepted.\n\n```html\n<mds-input-tip active>\n <mds-input-tip-item variant=\"text\" expanded>Inserisci il tuo nome completo</mds-input-tip-item>\n</mds-input-tip>\n```\n\n#### Character-Count Feedback\n\nThe `count-*` variants express how full a character-limited field is. The parent input computes the label text and slots it in; you choose the variant that matches the fill stage.\n\n```html\n<mds-input-tip active>\n <!-- Campo vuoto -->\n <mds-input-tip-item variant=\"count-empty\" expanded>0 / 100</mds-input-tip-item>\n\n <!-- In corso, entro i limiti -->\n <mds-input-tip-item variant=\"count-incomplete\" expanded>42 / 100</mds-input-tip-item>\n\n <!-- Vicino al limite -->\n <mds-input-tip-item variant=\"count-almost\" expanded>80 / 100</mds-input-tip-item>\n\n <!-- Quasi al limite -->\n <mds-input-tip-item variant=\"count-almost-full\" expanded>95 / 100</mds-input-tip-item>\n\n <!-- Limite raggiunto -->\n <mds-input-tip-item variant=\"count-full\" expanded>100 / 100</mds-input-tip-item>\n</mds-input-tip>\n```\n\n#### Toggling Visibility with `expanded`\n\nThe `expanded` attribute controls the reveal animation. Drive it from the parent's logic - for example, show the required hint only while the field is focused.\n\n```html\n<!-- Visibile: campo focalizzato -->\n<mds-input-tip-item variant=\"required\" expanded></mds-input-tip-item>\n\n<!-- Nascosto: campo non focalizzato (rimuovere l'attributo, non impostarlo a false) -->\n<mds-input-tip-item variant=\"required\"></mds-input-tip-item>\n```\n\n#### Styling Customization\n\nOverride the visual appearance only through the three documented CSS custom properties. Set them on the host element or a parent selector; use Magma color tokens via `rgb(var(--<token>))` so dark mode keeps working.\n\n```css\n.campo-personalizzato mds-input-tip-item {\n --mds-input-tip-item-background: rgb(var(--variant-primary-05));\n --mds-input-tip-item-color: rgb(var(--variant-primary-01));\n --mds-input-tip-item-icon-color: rgb(var(--variant-primary-02));\n}\n```\n",
|
|
@@ -16806,7 +17229,7 @@
|
|
|
16806
17229
|
},
|
|
16807
17230
|
"signature": "updateLang() => Promise<void>",
|
|
16808
17231
|
"parameters": [],
|
|
16809
|
-
"docs": "",
|
|
17232
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
16810
17233
|
"docsTags": []
|
|
16811
17234
|
}
|
|
16812
17235
|
],
|
|
@@ -16829,7 +17252,12 @@
|
|
|
16829
17252
|
"docs": "Sets the icon color fill of the tip item."
|
|
16830
17253
|
}
|
|
16831
17254
|
],
|
|
16832
|
-
"slots": [
|
|
17255
|
+
"slots": [
|
|
17256
|
+
{
|
|
17257
|
+
"name": "",
|
|
17258
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
17259
|
+
}
|
|
17260
|
+
],
|
|
16833
17261
|
"parts": [],
|
|
16834
17262
|
"states": [],
|
|
16835
17263
|
"dependents": [
|
|
@@ -17127,7 +17555,7 @@
|
|
|
17127
17555
|
},
|
|
17128
17556
|
"signature": "updateLang() => Promise<void>",
|
|
17129
17557
|
"parameters": [],
|
|
17130
|
-
"docs": "",
|
|
17558
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
17131
17559
|
"docsTags": []
|
|
17132
17560
|
}
|
|
17133
17561
|
],
|
|
@@ -17241,7 +17669,12 @@
|
|
|
17241
17669
|
"tag": "mds-keyboard",
|
|
17242
17670
|
"readme": "# mds-keyboard\n\n\n",
|
|
17243
17671
|
"docs": "",
|
|
17244
|
-
"docsTags": [
|
|
17672
|
+
"docsTags": [
|
|
17673
|
+
{
|
|
17674
|
+
"name": "slot",
|
|
17675
|
+
"text": "- Add `mds-keyboard-key` elements or `components` to this slot."
|
|
17676
|
+
}
|
|
17677
|
+
],
|
|
17245
17678
|
"usage": {
|
|
17246
17679
|
"1. Description": "The `<mds-keyboard>` web component renders a keyboard shortcut as a row of physical-looking keycaps, acting as the compound parent for one or more slotted `<mds-keyboard-key>` children. It has no direct HTML equivalent; it visualizes a key combination (e.g. `Ctrl + C`) and can optionally let the user verify that combination by typing it.\n\n#### Semantic Behavior\n\n- **Default slot is the key sequence**: The component projects slotted `<mds-keyboard-key>` elements and automatically inserts a `+` separator between consecutive keys.\n- **Compound parent**: It reads each child key's `name` to build the expected combination; during a test the children are toggled to their `pressed` state.\n- **Test mode (`try`)**: When enabled the component appends a trigger button and a tooltip; clicking the button captures keystrokes and compares the typed combination against the slotted keys.\n- **Result feedback**: A pass shows a \"done\" icon, a fail shows a \"close\" icon, and the tooltip surfaces the localized success or error message; the outcome is also reflected on the host via the `test` attribute.\n- **Localization**: Trigger title, tooltip copy, and error messages resolve through the locale system (el/en/es/it).\n\n#### Properties & Visual Configurations\n\nThis component does not use the shared `variant` / `tone` ladders from [`projects/stencil/SPEC.md`](../../../../SPEC.md#tone-and-variant-system).\n\n#### Other behavioral props\n\n- **`try`** opts the keyboard into interactive verification mode. Enable it only when you want the user to be able to confirm a shortcut by typing it; leave it unset for a purely presentational shortcut display.\n- **`test`** reflects the verification outcome (`'pass'` / `'fail'`) onto the host. It is primarily driven by the test flow and is mainly useful as a styling/state hook rather than a value you set yourself.\n",
|
|
17247
17680
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-keyboard>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the variant / tone ladders documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Single Key Display\n\nThe simplest use: one `<mds-keyboard-key>` child inside `<mds-keyboard>`. The `name` attribute selects a key from the built-in key dictionary; the component renders the physical-looking keycap with the localized alias.\n\n```html\n<mds-keyboard>\n <mds-keyboard-key name=\"f1\"></mds-keyboard-key>\n</mds-keyboard>\n```\n\n#### Multi-Key Shortcut Combination\n\nSlot two or more `<mds-keyboard-key>` elements. The component automatically inserts a `+` separator between consecutive keys, so you never need to add it manually.\n\n```html\n<mds-keyboard>\n <mds-keyboard-key name=\"control\"></mds-keyboard-key>\n <mds-keyboard-key name=\"s\"></mds-keyboard-key>\n</mds-keyboard>\n```\n\n#### Specifying Key Side (Left / Right Modifier)\n\nUse the side-specific `name` values (`controlleft`, `controlright`, `shiftleft`, `shiftright`, `commandleft`, `commandright`, etc.) when the shortcut must be typed with a specific hand. The keycap renders a small positional indicator.\n\n```html\n<!-- Only the left Shift key is accepted during a test -->\n<mds-keyboard try>\n <mds-keyboard-key name=\"shiftleft\"></mds-keyboard-key>\n <mds-keyboard-key name=\"d\"></mds-keyboard-key>\n</mds-keyboard>\n```\n\n#### Interactive Verification Mode (`try`)\n\nAdd the `try` attribute to let the user confirm the shortcut by typing it. A trigger button appears; clicking it puts the component into capture mode. After the user releases all keys the component reflects the outcome (`pass` / `fail`) on the `test` attribute and shows a localized tooltip.\n\n```html\n<mds-keyboard try>\n <mds-keyboard-key name=\"command\"></mds-keyboard-key>\n <mds-keyboard-key name=\"z\"></mds-keyboard-key>\n</mds-keyboard>\n```\n\n#### Shortcut Reference Table\n\nEmbed `<mds-keyboard>` inside a `<mds-table>` to build a keyboard-shortcut reference sheet. Each row pairs the visual shortcut with its description.\n\n```html\n<mds-table>\n <mds-table-header>\n <mds-table-header-cell label=\"Combinazione\"></mds-table-header-cell>\n <mds-table-header-cell label=\"Azione\"></mds-table-header-cell>\n </mds-table-header>\n <mds-table-body>\n <mds-table-row>\n <mds-table-cell>\n <mds-keyboard>\n <mds-keyboard-key name=\"control\"></mds-keyboard-key>\n <mds-keyboard-key name=\"c\"></mds-keyboard-key>\n </mds-keyboard>\n </mds-table-cell>\n <mds-table-cell><mds-text>Copia</mds-text></mds-table-cell>\n </mds-table-row>\n <mds-table-row>\n <mds-table-cell>\n <mds-keyboard>\n <mds-keyboard-key name=\"control\"></mds-keyboard-key>\n <mds-keyboard-key name=\"v\"></mds-keyboard-key>\n </mds-keyboard>\n </mds-table-cell>\n <mds-table-cell><mds-text>Incolla</mds-text></mds-table-cell>\n </mds-table-row>\n <mds-table-row>\n <mds-table-cell>\n <mds-keyboard>\n <mds-keyboard-key name=\"control\"></mds-keyboard-key>\n <mds-keyboard-key name=\"z\"></mds-keyboard-key>\n </mds-keyboard>\n </mds-table-cell>\n <mds-table-cell><mds-text>Annulla</mds-text></mds-table-cell>\n </mds-table-row>\n </mds-table-body>\n</mds-table>\n```\n\n#### Reading the `test` Outcome Attribute\n\nWhen `try` is set the `test` attribute is reflected onto the host as `\"pass\"` or `\"fail\"` after each attempt. Use it as a CSS attribute selector or read it from JavaScript to drive follow-on UI.\n\n```html\n<mds-keyboard id=\"shortcut-ctrl-s\" try>\n <mds-keyboard-key name=\"control\"></mds-keyboard-key>\n <mds-keyboard-key name=\"s\"></mds-keyboard-key>\n</mds-keyboard>\n```\n\n```javascript\ndocument.querySelector('#shortcut-ctrl-s').addEventListener('click', () => {\n const result = document.querySelector('#shortcut-ctrl-s').getAttribute('test');\n if (result === 'pass') {\n console.log('Combinazione corretta!');\n }\n});\n```\n\n#### Styling Customization\n\nAdjust colors and lighting only through the documented `--mds-keyboard-*` CSS custom properties. Use Magma color tokens via `rgb(var(--<token>))` so dark mode continues to work.\n\n```css\n.custom-keyboard mds-keyboard {\n --mds-keyboard-background: rgb(var(--tone-neutral-02));\n --mds-keyboard-color: rgb(var(--tone-neutral-10));\n --mds-keyboard-key-background: rgb(var(--tone-neutral-04));\n --mds-keyboard-padding: var(--spacing-300);\n}\n```\n",
|
|
@@ -17333,7 +17766,7 @@
|
|
|
17333
17766
|
},
|
|
17334
17767
|
"signature": "updateLang() => Promise<void>",
|
|
17335
17768
|
"parameters": [],
|
|
17336
|
-
"docs": "",
|
|
17769
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
17337
17770
|
"docsTags": []
|
|
17338
17771
|
}
|
|
17339
17772
|
],
|
|
@@ -17441,7 +17874,12 @@
|
|
|
17441
17874
|
"docs": "Set the duration of the spinner animation."
|
|
17442
17875
|
}
|
|
17443
17876
|
],
|
|
17444
|
-
"slots": [
|
|
17877
|
+
"slots": [
|
|
17878
|
+
{
|
|
17879
|
+
"name": "",
|
|
17880
|
+
"docs": "Add `mds-keyboard-key` elements or `components` to this slot."
|
|
17881
|
+
}
|
|
17882
|
+
],
|
|
17445
17883
|
"parts": [],
|
|
17446
17884
|
"states": [],
|
|
17447
17885
|
"dependents": [],
|
|
@@ -17877,7 +18315,7 @@
|
|
|
17877
18315
|
},
|
|
17878
18316
|
"signature": "updateLang() => Promise<void>",
|
|
17879
18317
|
"parameters": [],
|
|
17880
|
-
"docs": "",
|
|
18318
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
17881
18319
|
"docsTags": []
|
|
17882
18320
|
}
|
|
17883
18321
|
],
|
|
@@ -17939,7 +18377,7 @@
|
|
|
17939
18377
|
"docsTags": [
|
|
17940
18378
|
{
|
|
17941
18379
|
"name": "slot",
|
|
17942
|
-
"text": "
|
|
18380
|
+
"text": "- Add `mds-kpi-item` element/s."
|
|
17943
18381
|
}
|
|
17944
18382
|
],
|
|
17945
18383
|
"usage": {
|
|
@@ -17965,7 +18403,7 @@
|
|
|
17965
18403
|
],
|
|
17966
18404
|
"slots": [
|
|
17967
18405
|
{
|
|
17968
|
-
"name": "
|
|
18406
|
+
"name": "",
|
|
17969
18407
|
"docs": "Add `mds-kpi-item` element/s."
|
|
17970
18408
|
}
|
|
17971
18409
|
],
|
|
@@ -18484,7 +18922,7 @@
|
|
|
18484
18922
|
},
|
|
18485
18923
|
"signature": "updateLang() => Promise<void>",
|
|
18486
18924
|
"parameters": [],
|
|
18487
|
-
"docs": "",
|
|
18925
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
18488
18926
|
"docsTags": []
|
|
18489
18927
|
}
|
|
18490
18928
|
],
|
|
@@ -18581,7 +19019,7 @@
|
|
|
18581
19019
|
"docsTags": [
|
|
18582
19020
|
{
|
|
18583
19021
|
"name": "slot",
|
|
18584
|
-
"text": "
|
|
19022
|
+
"text": "- Add `mds-list-item` element/s."
|
|
18585
19023
|
}
|
|
18586
19024
|
],
|
|
18587
19025
|
"usage": {
|
|
@@ -18596,7 +19034,7 @@
|
|
|
18596
19034
|
"styles": [],
|
|
18597
19035
|
"slots": [
|
|
18598
19036
|
{
|
|
18599
|
-
"name": "
|
|
19037
|
+
"name": "",
|
|
18600
19038
|
"docs": "Add `mds-list-item` element/s."
|
|
18601
19039
|
}
|
|
18602
19040
|
],
|
|
@@ -18615,7 +19053,7 @@
|
|
|
18615
19053
|
"docsTags": [
|
|
18616
19054
|
{
|
|
18617
19055
|
"name": "slot",
|
|
18618
|
-
"text": "
|
|
19056
|
+
"text": "- Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
18619
19057
|
}
|
|
18620
19058
|
],
|
|
18621
19059
|
"usage": {
|
|
@@ -18770,7 +19208,7 @@
|
|
|
18770
19208
|
],
|
|
18771
19209
|
"slots": [
|
|
18772
19210
|
{
|
|
18773
|
-
"name": "
|
|
19211
|
+
"name": "",
|
|
18774
19212
|
"docs": "Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
18775
19213
|
}
|
|
18776
19214
|
],
|
|
@@ -18964,7 +19402,7 @@
|
|
|
18964
19402
|
},
|
|
18965
19403
|
{
|
|
18966
19404
|
"name": "slot",
|
|
18967
|
-
"text": "
|
|
19405
|
+
"text": "- Contents that will be placed in the center of the window. Add `text string`, `HTML elements` or `components` to this slot."
|
|
18968
19406
|
},
|
|
18969
19407
|
{
|
|
18970
19408
|
"name": "slot",
|
|
@@ -19316,7 +19754,7 @@
|
|
|
19316
19754
|
},
|
|
19317
19755
|
"signature": "close() => Promise<void>",
|
|
19318
19756
|
"parameters": [],
|
|
19319
|
-
"docs": "",
|
|
19757
|
+
"docs": "Closes the modal.",
|
|
19320
19758
|
"docsTags": []
|
|
19321
19759
|
}
|
|
19322
19760
|
],
|
|
@@ -19453,12 +19891,12 @@
|
|
|
19453
19891
|
],
|
|
19454
19892
|
"slots": [
|
|
19455
19893
|
{
|
|
19456
|
-
"name": "
|
|
19457
|
-
"docs": "Contents that will be placed
|
|
19894
|
+
"name": "",
|
|
19895
|
+
"docs": "Contents that will be placed in the center of the window. Add `text string`, `HTML elements` or `components` to this slot."
|
|
19458
19896
|
},
|
|
19459
19897
|
{
|
|
19460
|
-
"name": "
|
|
19461
|
-
"docs": "Contents that will be placed
|
|
19898
|
+
"name": "bottom",
|
|
19899
|
+
"docs": "Contents that will be placed on bottom of the window. Add `text string`, `HTML elements` or `components` to this slot."
|
|
19462
19900
|
},
|
|
19463
19901
|
{
|
|
19464
19902
|
"name": "top",
|
|
@@ -19513,7 +19951,7 @@
|
|
|
19513
19951
|
"docsTags": [
|
|
19514
19952
|
{
|
|
19515
19953
|
"name": "slot",
|
|
19516
|
-
"text": "
|
|
19954
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
19517
19955
|
},
|
|
19518
19956
|
{
|
|
19519
19957
|
"name": "slot",
|
|
@@ -19663,7 +20101,7 @@
|
|
|
19663
20101
|
},
|
|
19664
20102
|
"signature": "updateLang() => Promise<void>",
|
|
19665
20103
|
"parameters": [],
|
|
19666
|
-
"docs": "",
|
|
20104
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
19667
20105
|
"docsTags": []
|
|
19668
20106
|
}
|
|
19669
20107
|
],
|
|
@@ -19713,7 +20151,7 @@
|
|
|
19713
20151
|
],
|
|
19714
20152
|
"slots": [
|
|
19715
20153
|
{
|
|
19716
|
-
"name": "
|
|
20154
|
+
"name": "",
|
|
19717
20155
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
19718
20156
|
},
|
|
19719
20157
|
{
|
|
@@ -20117,7 +20555,7 @@
|
|
|
20117
20555
|
"docsTags": [
|
|
20118
20556
|
{
|
|
20119
20557
|
"name": "slot",
|
|
20120
|
-
"text": "
|
|
20558
|
+
"text": "- Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
20121
20559
|
}
|
|
20122
20560
|
],
|
|
20123
20561
|
"usage": {
|
|
@@ -20282,7 +20720,7 @@
|
|
|
20282
20720
|
],
|
|
20283
20721
|
"slots": [
|
|
20284
20722
|
{
|
|
20285
|
-
"name": "
|
|
20723
|
+
"name": "",
|
|
20286
20724
|
"docs": "Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
20287
20725
|
}
|
|
20288
20726
|
],
|
|
@@ -20492,7 +20930,7 @@
|
|
|
20492
20930
|
},
|
|
20493
20931
|
"signature": "updateLang() => Promise<void>",
|
|
20494
20932
|
"parameters": [],
|
|
20495
|
-
"docs": "",
|
|
20933
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
20496
20934
|
"docsTags": []
|
|
20497
20935
|
}
|
|
20498
20936
|
],
|
|
@@ -20592,7 +21030,7 @@
|
|
|
20592
21030
|
},
|
|
20593
21031
|
{
|
|
20594
21032
|
"name": "slot",
|
|
20595
|
-
"text": "
|
|
21033
|
+
"text": "- Add `mds-pref-animation`, `mds-pref-consumption`, `mds-pref-contrast`, `mds-pref-language`, or `mds-pref-theme` element/s."
|
|
20596
21034
|
},
|
|
20597
21035
|
{
|
|
20598
21036
|
"name": "example",
|
|
@@ -20690,7 +21128,7 @@
|
|
|
20690
21128
|
},
|
|
20691
21129
|
"signature": "updateLang() => Promise<void>",
|
|
20692
21130
|
"parameters": [],
|
|
20693
|
-
"docs": "",
|
|
21131
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
20694
21132
|
"docsTags": []
|
|
20695
21133
|
}
|
|
20696
21134
|
],
|
|
@@ -20699,7 +21137,7 @@
|
|
|
20699
21137
|
"styles": [],
|
|
20700
21138
|
"slots": [
|
|
20701
21139
|
{
|
|
20702
|
-
"name": "
|
|
21140
|
+
"name": "",
|
|
20703
21141
|
"docs": "Add `mds-pref-animation`, `mds-pref-consumption`, `mds-pref-contrast`, `mds-pref-language`, or `mds-pref-theme` element/s."
|
|
20704
21142
|
}
|
|
20705
21143
|
],
|
|
@@ -20829,7 +21267,7 @@
|
|
|
20829
21267
|
},
|
|
20830
21268
|
"signature": "updateLang() => Promise<void>",
|
|
20831
21269
|
"parameters": [],
|
|
20832
|
-
"docs": "",
|
|
21270
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
20833
21271
|
"docsTags": []
|
|
20834
21272
|
}
|
|
20835
21273
|
],
|
|
@@ -20997,7 +21435,7 @@
|
|
|
20997
21435
|
},
|
|
20998
21436
|
"signature": "updateLang() => Promise<void>",
|
|
20999
21437
|
"parameters": [],
|
|
21000
|
-
"docs": "",
|
|
21438
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
21001
21439
|
"docsTags": []
|
|
21002
21440
|
}
|
|
21003
21441
|
],
|
|
@@ -21165,7 +21603,7 @@
|
|
|
21165
21603
|
},
|
|
21166
21604
|
"signature": "updateLang() => Promise<void>",
|
|
21167
21605
|
"parameters": [],
|
|
21168
|
-
"docs": "",
|
|
21606
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
21169
21607
|
"docsTags": []
|
|
21170
21608
|
}
|
|
21171
21609
|
],
|
|
@@ -21228,7 +21666,7 @@
|
|
|
21228
21666
|
"docsTags": [
|
|
21229
21667
|
{
|
|
21230
21668
|
"name": "slot",
|
|
21231
|
-
"text": "
|
|
21669
|
+
"text": "- Add `mds-pref-language-item` element/s."
|
|
21232
21670
|
}
|
|
21233
21671
|
],
|
|
21234
21672
|
"usage": {
|
|
@@ -21325,7 +21763,7 @@
|
|
|
21325
21763
|
},
|
|
21326
21764
|
"signature": "updateLang() => Promise<void>",
|
|
21327
21765
|
"parameters": [],
|
|
21328
|
-
"docs": "",
|
|
21766
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
21329
21767
|
"docsTags": []
|
|
21330
21768
|
}
|
|
21331
21769
|
],
|
|
@@ -21377,7 +21815,7 @@
|
|
|
21377
21815
|
"styles": [],
|
|
21378
21816
|
"slots": [
|
|
21379
21817
|
{
|
|
21380
|
-
"name": "
|
|
21818
|
+
"name": "",
|
|
21381
21819
|
"docs": "Add `mds-pref-language-item` element/s."
|
|
21382
21820
|
}
|
|
21383
21821
|
],
|
|
@@ -21496,7 +21934,7 @@
|
|
|
21496
21934
|
},
|
|
21497
21935
|
"signature": "updateLang() => Promise<void>",
|
|
21498
21936
|
"parameters": [],
|
|
21499
|
-
"docs": "",
|
|
21937
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
21500
21938
|
"docsTags": []
|
|
21501
21939
|
}
|
|
21502
21940
|
],
|
|
@@ -21702,7 +22140,7 @@
|
|
|
21702
22140
|
},
|
|
21703
22141
|
"signature": "updateLang() => Promise<void>",
|
|
21704
22142
|
"parameters": [],
|
|
21705
|
-
"docs": "",
|
|
22143
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
21706
22144
|
"docsTags": []
|
|
21707
22145
|
}
|
|
21708
22146
|
],
|
|
@@ -21765,7 +22203,7 @@
|
|
|
21765
22203
|
"docsTags": [
|
|
21766
22204
|
{
|
|
21767
22205
|
"name": "slot",
|
|
21768
|
-
"text": "
|
|
22206
|
+
"text": "- Add `mds-pref-theme-variant-item` element/s."
|
|
21769
22207
|
}
|
|
21770
22208
|
],
|
|
21771
22209
|
"usage": {
|
|
@@ -21907,7 +22345,7 @@
|
|
|
21907
22345
|
},
|
|
21908
22346
|
"signature": "updateLang() => Promise<void>",
|
|
21909
22347
|
"parameters": [],
|
|
21910
|
-
"docs": "",
|
|
22348
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
21911
22349
|
"docsTags": []
|
|
21912
22350
|
}
|
|
21913
22351
|
],
|
|
@@ -21959,7 +22397,7 @@
|
|
|
21959
22397
|
"styles": [],
|
|
21960
22398
|
"slots": [
|
|
21961
22399
|
{
|
|
21962
|
-
"name": "
|
|
22400
|
+
"name": "",
|
|
21963
22401
|
"docs": "Add `mds-pref-theme-variant-item` element/s."
|
|
21964
22402
|
}
|
|
21965
22403
|
],
|
|
@@ -22158,7 +22596,7 @@
|
|
|
22158
22596
|
},
|
|
22159
22597
|
"signature": "updateLang() => Promise<void>",
|
|
22160
22598
|
"parameters": [],
|
|
22161
|
-
"docs": "",
|
|
22599
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
22162
22600
|
"docsTags": []
|
|
22163
22601
|
}
|
|
22164
22602
|
],
|
|
@@ -22237,7 +22675,12 @@
|
|
|
22237
22675
|
"tag": "mds-price-table",
|
|
22238
22676
|
"readme": "# mds-price-table\n\n\n\nThis is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.\n",
|
|
22239
22677
|
"docs": "This is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.",
|
|
22240
|
-
"docsTags": [
|
|
22678
|
+
"docsTags": [
|
|
22679
|
+
{
|
|
22680
|
+
"name": "slot",
|
|
22681
|
+
"text": "- Add `mds-price-table-list` elements or `components` to this slot."
|
|
22682
|
+
}
|
|
22683
|
+
],
|
|
22241
22684
|
"usage": {
|
|
22242
22685
|
"1. Description": "The `<mds-price-table>` web component is the layout container of the Magma Design System pricing-table family. It owns no logic or visual chrome of its own: it stacks its slotted compound children (the plan columns, header and feature matrix) into a coherent pricing comparison surface.\n\n#### Semantic Behavior\n\n- **Default slot only**: Any markup placed between the tags is projected verbatim. It expects the dedicated compound children (`mds-price-table-list`, `mds-price-table-header`, `mds-price-table-features`, `mds-price-table-features-row`, `mds-price-table-features-cell`) rather than free-form content.\n- **Grid layout host**: Projected blocks are spaced consistently regardless of how many plans or feature rows are supplied.\n- **Responsive composition**: It does not switch layouts internally. Two arrangements are expressed through the children and utility classes - a stacked, per-plan layout (each `mds-price-table-list` carrying its own feature matrix) for narrow viewports, and a shared `mds-price-table-header` + single `mds-price-table-features` matrix for wide viewports.\n- **No props, events, or state**: All configuration lives on the child components.\n\n#### Properties & Visual Configurations\n\nThis component is a pure compound parent and intentionally has no configurable props. Visual variation comes from the children it wraps - for example the `type` attribute on `mds-price-table-features-cell` (`'label'`, `'text'`, `'supported'`, `'unsupported'`) drives what each matrix cell renders, and the named slots on `mds-price-table-list` (`header`, `price`, `action`) position each plan's heading, price and call-to-action. Refer to those child components' own documentation for their value ladders.\n",
|
|
22243
22686
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-price-table>` family, ordered from most common to most specialized. Patterns assume a working knowledge of the compound-component rules documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Single-Plan Card (Mobile Layout)\n\nUse one `<mds-price-table>` per plan on narrow viewports. Each instance contains one `<mds-price-table-list>` (the plan card) followed by one `<mds-price-table-features>` (its feature matrix). The `header`, `price`, and `action` slots of `<mds-price-table-list>` position plan heading, price, and call-to-action respectively.\n\n```html\n<mds-price-table>\n <mds-price-table-list>\n <mds-text typography=\"h5\" tag=\"h4\" slot=\"header\">Piano Base</mds-text>\n <mds-text typography=\"detail\" slot=\"header\">Ideale per liberi professionisti.</mds-text>\n <mds-text typography=\"h2\" tag=\"h4\" slot=\"price\">49 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia ora</mds-button>\n </mds-price-table-list>\n <mds-price-table-features>\n <mds-price-table-features-row>\n <mds-price-table-features-cell type=\"label\">Utenti</mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"text\">10</mds-price-table-features-cell>\n </mds-price-table-features-row>\n <mds-price-table-features-row>\n <mds-price-table-features-cell type=\"label\">Supporto</mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"supported\"></mds-price-table-features-cell>\n </mds-price-table-features-row>\n <mds-price-table-features-row>\n <mds-price-table-features-cell type=\"label\">Report avanzati</mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"unsupported\"></mds-price-table-features-cell>\n </mds-price-table-features-row>\n </mds-price-table-features>\n</mds-price-table>\n```\n\n#### Multi-Plan Comparison (Desktop Layout)\n\nUse a single `<mds-price-table>` wrapping one `<mds-price-table-header>` and one shared `<mds-price-table-features>`. The header holds a heading element plus one `<mds-price-table-list>` per plan. Each `<mds-price-table-features-row>` then carries one `label` cell followed by one data cell per plan - the row component distributes them evenly.\n\n```html\n<mds-price-table>\n <mds-price-table-header class=\"tablet:grid-cols-3 desktop:grid-cols-4\">\n <mds-text typography=\"h1\" tag=\"h3\" class=\"desktop:py-600\">Scegli il tuo piano</mds-text>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" tag=\"h4\" slot=\"header\">Base</mds-text>\n <mds-text typography=\"h2\" tag=\"h4\" slot=\"price\">49 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia</mds-button>\n </mds-price-table-list>\n\n <mds-price-table-list class=\"bg-label-amaranth-10\">\n <mds-text typography=\"h5\" tag=\"h4\" slot=\"header\">Professional</mds-text>\n <mds-text typography=\"h2\" tag=\"h4\" slot=\"price\">99 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia</mds-button>\n </mds-price-table-list>\n </mds-price-table-header>\n\n <mds-price-table-features label=\"Caratteristiche\">\n <mds-price-table-features-row>\n <mds-price-table-features-cell type=\"label\">Utenti</mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"text\">10</mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"text\">20</mds-price-table-features-cell>\n </mds-price-table-features-row>\n <mds-price-table-features-row>\n <mds-price-table-features-cell type=\"label\">Automazione</mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"unsupported\"></mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"supported\"></mds-price-table-features-cell>\n </mds-price-table-features-row>\n </mds-price-table-features>\n</mds-price-table>\n```\n\n#### Feature Matrix Section with a Label\n\nPass the `label` prop to `<mds-price-table-features>` to render a bold section heading above the feature rows. Use this when the comparison is split across multiple thematic groups (for example \"Funzionalita base\" and \"Report e analisi\").\n\n```html\n<mds-price-table-features label=\"Report e analisi\">\n <mds-price-table-features-row>\n <mds-price-table-features-cell type=\"label\">Export report</mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"unsupported\"></mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"supported\"></mds-price-table-features-cell>\n </mds-price-table-features-row>\n <mds-price-table-features-row>\n <mds-price-table-features-cell type=\"label\">Report avanzati</mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"unsupported\"></mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"supported\"></mds-price-table-features-cell>\n </mds-price-table-features-row>\n</mds-price-table-features>\n```\n\n#### Feature Cell Types\n\n`<mds-price-table-features-cell>` drives what each matrix cell renders through its `type` attribute. The five accepted values are: `label` (plain row heading), `text` (detail string), `supported` (check icon), `unsupported` (dash icon), and `custom` (arbitrary slotted content).\n\n```html\n<mds-price-table-features-row>\n <!-- Row heading - typically the first cell -->\n <mds-price-table-features-cell type=\"label\">Archiviazione</mds-price-table-features-cell>\n\n <!-- Text value cell -->\n <mds-price-table-features-cell type=\"text\">10 GB</mds-price-table-features-cell>\n\n <!-- Supported / unsupported icon cells (no slotted content needed) -->\n <mds-price-table-features-cell type=\"supported\"></mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"unsupported\"></mds-price-table-features-cell>\n\n <!-- Custom cell for arbitrary content -->\n <mds-price-table-features-cell type=\"custom\">\n <mds-badge variant=\"success\" tone=\"weak\">Nuovo</mds-badge>\n </mds-price-table-features-cell>\n</mds-price-table-features-row>\n```\n\n#### Contextual Help on a Feature Cell\n\nSlot an `<mds-help>` inside a `label` or `text` cell to add an inline tooltip explaining a feature. Place it directly after the label text so the icon appears inline.\n\n```html\n<mds-price-table-features-row>\n <mds-price-table-features-cell type=\"label\">\n Funzionalita automatizzate\n <mds-help>Includono notifiche, workflow e integrazioni API.</mds-help>\n </mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"unsupported\"></mds-price-table-features-cell>\n <mds-price-table-features-cell type=\"supported\"></mds-price-table-features-cell>\n</mds-price-table-features-row>\n```\n\n#### List Items Inside a Plan Card\n\nUse `<mds-price-table-list-item>` via the `item` slot for a bulleted feature list inside a plan card. Set `supported` to `true` for included features and leave it `false` (default) for excluded ones. The `typography` prop controls the text size.\n\n```html\n<mds-price-table-list>\n <mds-text typography=\"h5\" tag=\"h4\" slot=\"header\">Piano Base</mds-text>\n <mds-text typography=\"h2\" tag=\"h4\" slot=\"price\">49 EUR</mds-text>\n\n <mds-price-table-list-item supported>Accesso base</mds-price-table-list-item>\n <mds-price-table-list-item supported>Supporto clienti</mds-price-table-list-item>\n <mds-price-table-list-item>Automazione</mds-price-table-list-item>\n <mds-price-table-list-item>Export report</mds-price-table-list-item>\n\n <mds-button slot=\"action\" variant=\"dark\">Inizia ora</mds-button>\n</mds-price-table-list>\n```\n\n#### Highlighted Plan Card\n\nApply a Magma label-color utility class directly to `<mds-price-table-list>` to visually distinguish a recommended or featured plan. Do not set a background color through inline styles or custom CSS; use the documented background tokens.\n\n```html\n<mds-price-table>\n <mds-price-table-list>\n <mds-text typography=\"h5\" tag=\"h4\" slot=\"header\">Base</mds-text>\n <mds-text typography=\"h2\" tag=\"h4\" slot=\"price\">49 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia</mds-button>\n </mds-price-table-list>\n\n <!-- Highlighted plan -->\n <mds-price-table-list class=\"bg-label-amaranth-10\">\n <mds-text typography=\"h5\" tag=\"h4\" slot=\"header\">Professional</mds-text>\n <mds-text typography=\"h2\" tag=\"h4\" slot=\"price\">99 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia</mds-button>\n </mds-price-table-list>\n</mds-price-table>\n```\n\n#### Separator Color Customization\n\n`<mds-price-table-list>` exposes one CSS custom property, `--mds-price-table-list-separator-color`, to style the horizontal rule that separates the header from the item list. Set it on the host using Magma color tokens.\n\n```css\n.featured-plan mds-price-table-list {\n --mds-price-table-list-separator-color: rgb(var(--variant-primary-03));\n}\n```\n",
|
|
@@ -22248,7 +22691,12 @@
|
|
|
22248
22691
|
"events": [],
|
|
22249
22692
|
"listeners": [],
|
|
22250
22693
|
"styles": [],
|
|
22251
|
-
"slots": [
|
|
22694
|
+
"slots": [
|
|
22695
|
+
{
|
|
22696
|
+
"name": "",
|
|
22697
|
+
"docs": "Add `mds-price-table-list` elements or `components` to this slot."
|
|
22698
|
+
}
|
|
22699
|
+
],
|
|
22252
22700
|
"parts": [],
|
|
22253
22701
|
"states": [],
|
|
22254
22702
|
"dependents": [],
|
|
@@ -22268,7 +22716,7 @@
|
|
|
22268
22716
|
},
|
|
22269
22717
|
{
|
|
22270
22718
|
"name": "slot",
|
|
22271
|
-
"text": "
|
|
22719
|
+
"text": "- Expects to slot `mds-price-table-features-row` component"
|
|
22272
22720
|
}
|
|
22273
22721
|
],
|
|
22274
22722
|
"usage": {
|
|
@@ -22321,7 +22769,7 @@
|
|
|
22321
22769
|
],
|
|
22322
22770
|
"slots": [
|
|
22323
22771
|
{
|
|
22324
|
-
"name": "
|
|
22772
|
+
"name": "",
|
|
22325
22773
|
"docs": "Expects to slot `mds-price-table-features-row` component"
|
|
22326
22774
|
}
|
|
22327
22775
|
],
|
|
@@ -22359,7 +22807,7 @@
|
|
|
22359
22807
|
},
|
|
22360
22808
|
{
|
|
22361
22809
|
"name": "slot",
|
|
22362
|
-
"text": "
|
|
22810
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
22363
22811
|
}
|
|
22364
22812
|
],
|
|
22365
22813
|
"usage": {
|
|
@@ -22462,7 +22910,7 @@
|
|
|
22462
22910
|
],
|
|
22463
22911
|
"slots": [
|
|
22464
22912
|
{
|
|
22465
|
-
"name": "
|
|
22913
|
+
"name": "",
|
|
22466
22914
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
22467
22915
|
}
|
|
22468
22916
|
],
|
|
@@ -22496,7 +22944,7 @@
|
|
|
22496
22944
|
"docsTags": [
|
|
22497
22945
|
{
|
|
22498
22946
|
"name": "slot",
|
|
22499
|
-
"text": "
|
|
22947
|
+
"text": "- Expects to slot `mds-price-table-features-cell` component"
|
|
22500
22948
|
}
|
|
22501
22949
|
],
|
|
22502
22950
|
"usage": {
|
|
@@ -22532,7 +22980,7 @@
|
|
|
22532
22980
|
],
|
|
22533
22981
|
"slots": [
|
|
22534
22982
|
{
|
|
22535
|
-
"name": "
|
|
22983
|
+
"name": "",
|
|
22536
22984
|
"docs": "Expects to slot `mds-price-table-features-cell` component"
|
|
22537
22985
|
}
|
|
22538
22986
|
],
|
|
@@ -22548,7 +22996,12 @@
|
|
|
22548
22996
|
"tag": "mds-price-table-header",
|
|
22549
22997
|
"readme": "# mds-price-table-header\n\n\n\nThis is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.\n",
|
|
22550
22998
|
"docs": "This is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.",
|
|
22551
|
-
"docsTags": [
|
|
22999
|
+
"docsTags": [
|
|
23000
|
+
{
|
|
23001
|
+
"name": "slot",
|
|
23002
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
23003
|
+
}
|
|
23004
|
+
],
|
|
22552
23005
|
"usage": {
|
|
22553
23006
|
"1. Description": "The `<mds-price-table-header>` web component is the layout child that forms the top band of a [`<mds-price-table>`](../../mds-price-table), aligning an optional leading title cell with the per-plan `<mds-price-table-list>` columns so the header sits in the same column grid as the feature rows below it. It is a pure presentational wrapper.\n\n#### Semantic Behavior\n\n- **Compound child only**: Must be placed as a direct slot child of `<mds-price-table>`; it is not used standalone, and it expects its own children to be the price-plan columns (typically a leading `<mds-text>` title plus one `<mds-price-table-list>` per plan) so they line up with the `<mds-price-table-features>` columns underneath.\n- **Auto-fit column grid**: Every direct child becomes an equal-width column by default.\n- **Layout overridden via classes**: Because the column count is content-driven, the explicit per-breakpoint layout (e.g. `tablet:grid-cols-3 desktop:grid-cols-4`, plus `col-span` on a leading title) is applied through utility classes on the host and its children rather than through props.\n- **Single default slot**: Passes content straight through; it has no named slots, no internal ARIA role, no state, and emits no events.\n\n#### Properties & Visual Configurations\n\nThis component exposes no configurable props. It is a layout-only child: its sole job is to project its slotted children into an equal-column grid that matches the rest of the price table. Control the arrangement through CSS utility classes (grid column counts per breakpoint, column spans on the leading title) on the host and on the slotted elements, not through component attributes. See the shared compound-component and layout conventions in [`projects/stencil/SPEC.md`](../../../../SPEC.md#tone-and-variant-system).\n",
|
|
22554
23007
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-price-table-header>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the compound-component rules documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Standard Three-Plan Header\n\nThe most common form: a leading title column followed by one [`<mds-price-table-list>`](../../mds-price-table-list) per plan. Apply responsive grid-column utilities directly on the host to align the header with the feature rows below it.\n\n```html\n<mds-price-table-header class=\"tablet:grid-cols-3 desktop:grid-cols-4\">\n <mds-text typography=\"h1\" class=\"tablet:col-span-3 desktop:col-span-1 desktop:py-600\">\n Scegli il piano per te\n </mds-text>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Piano Base</mds-text>\n <mds-text typography=\"detail\" slot=\"header\">\n Ideale per liberi professionisti.\n </mds-text>\n <mds-text typography=\"h2\" slot=\"price\">49 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia ora</mds-button>\n </mds-price-table-list>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Piano Professional</mds-text>\n <mds-text typography=\"detail\" slot=\"header\">\n Per studi di medie dimensioni.\n </mds-text>\n <mds-text typography=\"h2\" slot=\"price\">99 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia ora</mds-button>\n </mds-price-table-list>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Piano Enterprise</mds-text>\n <mds-text typography=\"detail\" slot=\"header\">\n Soluzioni su misura per grandi organizzazioni.\n </mds-text>\n <mds-text typography=\"h2\" slot=\"price\">149 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia ora</mds-button>\n </mds-price-table-list>\n</mds-price-table-header>\n```\n\n#### Header Without a Leading Title Column\n\nWhen the layout does not need a title column on the left, omit the leading element and let the auto-fit grid divide space equally among the plan columns. Update the grid-column count to match the number of plans.\n\n```html\n<mds-price-table-header class=\"tablet:grid-cols-2 desktop:grid-cols-3\">\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Starter</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">Gratuito</mds-text>\n <mds-button slot=\"action\" variant=\"primary\" tone=\"strong\">Registrati</mds-button>\n </mds-price-table-list>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Business</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">79 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"primary\" tone=\"strong\">Abbonati</mds-button>\n </mds-price-table-list>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Enterprise</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">Su richiesta</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Contattaci</mds-button>\n </mds-price-table-list>\n</mds-price-table-header>\n```\n\n#### Highlighted Plan Column\n\nApply a background utility class directly to an [`<mds-price-table-list>`](../../mds-price-table-list) child to visually emphasize a recommended plan. No extra wrapper is needed.\n\n```html\n<mds-price-table-header class=\"tablet:grid-cols-3 desktop:grid-cols-4\">\n <mds-text typography=\"h1\" class=\"tablet:col-span-3 desktop:col-span-1\">\n Trova il piano giusto\n </mds-text>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Base</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">29 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia</mds-button>\n </mds-price-table-list>\n\n <!-- Recommended plan - highlighted via background utility -->\n <mds-price-table-list class=\"bg-label-amaranth-10\">\n <mds-text typography=\"h5\" slot=\"header\">Consigliato</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">69 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"primary\" tone=\"strong\">Inizia</mds-button>\n </mds-price-table-list>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Premium</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">129 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Inizia</mds-button>\n </mds-price-table-list>\n</mds-price-table-header>\n```\n\n#### Matching Column Count to Feature Rows\n\nWhen combined with [`<mds-price-table-features>`](../../mds-price-table-features) below the header, the breakpoint grid-column classes on `<mds-price-table-header>` and on [`<mds-price-table-features>`](../../mds-price-table-features) must match so columns align visually. Apply the same class string to both.\n\n```html\n<mds-price-table>\n <mds-price-table-header class=\"tablet:grid-cols-3 desktop:grid-cols-4\">\n <mds-text typography=\"h1\" class=\"tablet:col-span-3 desktop:col-span-1\">\n Prezzi e funzionalita\n </mds-text>\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Base</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">49 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Abbonati</mds-button>\n </mds-price-table-list>\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Pro</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">99 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Abbonati</mds-button>\n </mds-price-table-list>\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Enterprise</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">199 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Contattaci</mds-button>\n </mds-price-table-list>\n </mds-price-table-header>\n\n <mds-price-table-features class=\"tablet:grid-cols-3 desktop:grid-cols-4\">\n <!-- feature rows go here -->\n </mds-price-table-features>\n</mds-price-table>\n```\n\n#### Mobile Collapse with Responsive Classes\n\nOn narrow viewports, collapse the multi-column header into a single-column stack using a `max-mobile:grid-cols-1` utility. The leading title then occupies the full row before the plan cards.\n\n```html\n<mds-price-table-header\n class=\"max-mobile:grid-cols-1 tablet:grid-cols-3 desktop:grid-cols-4\"\n>\n <mds-text typography=\"h1\" class=\"tablet:col-span-3 desktop:col-span-1\">\n Confronta i piani\n </mds-text>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Individuale</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">19 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Scegli</mds-button>\n </mds-price-table-list>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Team</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">49 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Scegli</mds-button>\n </mds-price-table-list>\n\n <mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Azienda</mds-text>\n <mds-text typography=\"h2\" slot=\"price\">149 EUR / mese</mds-text>\n <mds-button slot=\"action\" variant=\"dark\">Scegli</mds-button>\n </mds-price-table-list>\n</mds-price-table-header>\n```\n",
|
|
@@ -22559,7 +23012,12 @@
|
|
|
22559
23012
|
"events": [],
|
|
22560
23013
|
"listeners": [],
|
|
22561
23014
|
"styles": [],
|
|
22562
|
-
"slots": [
|
|
23015
|
+
"slots": [
|
|
23016
|
+
{
|
|
23017
|
+
"name": "",
|
|
23018
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
23019
|
+
}
|
|
23020
|
+
],
|
|
22563
23021
|
"parts": [],
|
|
22564
23022
|
"states": [],
|
|
22565
23023
|
"dependents": [],
|
|
@@ -22591,7 +23049,7 @@
|
|
|
22591
23049
|
},
|
|
22592
23050
|
{
|
|
22593
23051
|
"name": "slot",
|
|
22594
|
-
"text": "
|
|
23052
|
+
"text": "item - Add `mds-price-table-list-item` component, `HTML elements` or other `components` to this slot."
|
|
22595
23053
|
},
|
|
22596
23054
|
{
|
|
22597
23055
|
"name": "slot",
|
|
@@ -22623,14 +23081,14 @@
|
|
|
22623
23081
|
"name": "action",
|
|
22624
23082
|
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
22625
23083
|
},
|
|
22626
|
-
{
|
|
22627
|
-
"name": "default",
|
|
22628
|
-
"docs": "Add `mds-price-table-list-item` component, `HTML elements` or other `components` to this slot."
|
|
22629
|
-
},
|
|
22630
23084
|
{
|
|
22631
23085
|
"name": "header",
|
|
22632
23086
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
22633
23087
|
},
|
|
23088
|
+
{
|
|
23089
|
+
"name": "item",
|
|
23090
|
+
"docs": "Add `mds-price-table-list-item` component, `HTML elements` or other `components` to this slot."
|
|
23091
|
+
},
|
|
22634
23092
|
{
|
|
22635
23093
|
"name": "price",
|
|
22636
23094
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
@@ -22667,7 +23125,12 @@
|
|
|
22667
23125
|
"tag": "mds-price-table-list-item",
|
|
22668
23126
|
"readme": "# mds-price-table-list-item\n\n\n\nThis is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.\n",
|
|
22669
23127
|
"docs": "This is a web-component from Maggioli Design System [Magma](https://magma.maggiolicloud.it), built with StencilJS, TypeScript, Storybook. It's based on the web-component standard and it's designed to be agnostic from the JavaScript framework you are using.",
|
|
22670
|
-
"docsTags": [
|
|
23128
|
+
"docsTags": [
|
|
23129
|
+
{
|
|
23130
|
+
"name": "slot",
|
|
23131
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
23132
|
+
}
|
|
23133
|
+
],
|
|
22671
23134
|
"usage": {
|
|
22672
23135
|
"1. Description": "The `<mds-price-table-list-item>` web component represents a single feature row inside a [`<mds-price-table-list>`](../../mds-price-table-list), pairing a supported/unsupported status icon with a textual feature label. It is a presentational compound child.\n\n#### Semantic Behavior\n\n- **Compound child only**: It auto-assigns itself to the parent's `item` slot, so it must be a direct child of `<mds-price-table-list>` and is not used standalone.\n- **Drives parent layout**: The presence of at least one item is what makes the parent render its separator and feature region.\n- **Status icon by `supported`**: When `supported` is `true` it renders a filled check-circle icon; when `false` it renders a horizontal-rule (dash) icon, indicating the feature is absent.\n- **Default slot is the label**: Text or markup placed in the default slot becomes the feature description, rendered next to the icon.\n- **No interactivity**: The component is purely presentational - it has no role, selection/active/disabled state, emitted events, or keyboard handling.\n\n#### Properties & Visual Configurations\n\n- **`supported`**: Choose `true` for features included in the plan (check icon) and `false` for features not included (dash icon). It is the only semantic switch that changes the rendered icon, and is themeable via the `--mds-price-table-list-item-supported-*` / `-unsupported-*` CSS custom properties.\n- **`typography`**: Selects the text scale applied to both the icon wrapper and the label, accepting one of the shared read typography tokens (default `detail`). Use a larger value such as `paragraph` when the list should read at body size, or `caption` for denser tables.\n",
|
|
22673
23136
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-price-table-list-item>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the compound component rules documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n#### Supported Feature Row\n\nThe most common form. Place the component as a direct child of [`<mds-price-table-list>`](../../mds-price-table-list) and set `supported` to show the check-circle icon. Text in the default slot becomes the feature label.\n\n```html\n<mds-price-table-list>\n <mds-price-table-list-item supported>Accesso base</mds-price-table-list-item>\n</mds-price-table-list>\n```\n\n#### Unsupported Feature Row\n\nOmit `supported` (or leave it at its default `false`) to render the dash icon, indicating the feature is not included in the plan.\n\n```html\n<mds-price-table-list>\n <mds-price-table-list-item>Accesso API</mds-price-table-list-item>\n</mds-price-table-list>\n```\n\n#### Mixed Feature List\n\nCombine supported and unsupported rows inside one `<mds-price-table-list>` to build the complete plan comparison column.\n\n```html\n<mds-price-table-list>\n <mds-price-table-list-item supported>Utenti illimitati</mds-price-table-list-item>\n <mds-price-table-list-item supported>Supporto via chat</mds-price-table-list-item>\n <mds-price-table-list-item supported>Flussi automatizzati</mds-price-table-list-item>\n <mds-price-table-list-item>Analisi avanzata</mds-price-table-list-item>\n <mds-price-table-list-item>Esportazione report</mds-price-table-list-item>\n <mds-price-table-list-item>Accesso API</mds-price-table-list-item>\n</mds-price-table-list>\n```\n\n#### Feature Row with Contextual Help\n\nThe default slot accepts more than plain text. Slot an [`<mds-help>`](../../mds-help) inline next to the label when a feature needs a short explanation.\n\n```html\n<mds-price-table-list>\n <mds-price-table-list-item supported>\n 20 GB di spazio per utente\n <mds-help>Lo spazio viene condiviso fra tutti i membri del piano.</mds-help>\n </mds-price-table-list-item>\n</mds-price-table-list>\n```\n\n#### Adjusting Typography Scale\n\nUse the `typography` prop to control text and icon size across the whole row. The default `detail` fits dense tables; switch to `paragraph` for a more readable presentation or `caption` for compact layouts.\n\n```html\n<!-- Default (detail) -->\n<mds-price-table-list-item supported>Funzionalita di base</mds-price-table-list-item>\n\n<!-- Body-size presentation -->\n<mds-price-table-list-item supported typography=\"paragraph\">Funzionalita di base</mds-price-table-list-item>\n\n<!-- Compact table -->\n<mds-price-table-list-item typography=\"caption\">Accesso API</mds-price-table-list-item>\n```\n\n#### Full Plan Column\n\nThe full compound pattern: `<mds-price-table-list>` with header, items, a price, and a call-to-action.\n\n```html\n<mds-price-table-list>\n <mds-text typography=\"h5\" slot=\"header\">Piano Business</mds-text>\n <mds-text typography=\"detail\" slot=\"header\">\n Adatto a team di medie dimensioni con esigenze collaborative avanzate.\n </mds-text>\n\n <mds-price-table-list-item supported>Utenti illimitati</mds-price-table-list-item>\n <mds-price-table-list-item supported>Supporto prioritario</mds-price-table-list-item>\n <mds-price-table-list-item supported>Flussi automatizzati</mds-price-table-list-item>\n <mds-price-table-list-item>Accesso API</mds-price-table-list-item>\n\n <mds-text typography=\"h2\" slot=\"price\">99 EUR</mds-text>\n <mds-button slot=\"action\" variant=\"primary\" tone=\"strong\">Inizia ora</mds-button>\n</mds-price-table-list>\n```\n\n#### Styling Customization\n\nOverride the icon colors only through the documented `--mds-price-table-list-item-*` CSS custom properties. Use Magma color tokens via `rgb(var(--<token>))` so dark mode and high-contrast keep working.\n\n```css\n.promo-column mds-price-table-list-item {\n --mds-price-table-list-item-supported-icon-color: rgb(var(--variant-primary-05));\n --mds-price-table-list-item-supported-icon-color-hover: rgb(var(--variant-primary-04));\n --mds-price-table-list-item-unsupported-icon-color: rgb(var(--tone-neutral-06));\n --mds-price-table-list-item-unsupported-icon-color-hover: rgb(var(--tone-neutral-05));\n}\n```\n",
|
|
@@ -22774,7 +23237,12 @@
|
|
|
22774
23237
|
"docs": "Color of the unsupported icon in a list item on hover."
|
|
22775
23238
|
}
|
|
22776
23239
|
],
|
|
22777
|
-
"slots": [
|
|
23240
|
+
"slots": [
|
|
23241
|
+
{
|
|
23242
|
+
"name": "",
|
|
23243
|
+
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
23244
|
+
}
|
|
23245
|
+
],
|
|
22778
23246
|
"parts": [
|
|
22779
23247
|
{
|
|
22780
23248
|
"name": "icon",
|
|
@@ -23171,15 +23639,7 @@
|
|
|
23171
23639
|
},
|
|
23172
23640
|
{
|
|
23173
23641
|
"name": "slot",
|
|
23174
|
-
"text": "
|
|
23175
|
-
},
|
|
23176
|
-
{
|
|
23177
|
-
"name": "slot",
|
|
23178
|
-
"text": "bottom - Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
23179
|
-
},
|
|
23180
|
-
{
|
|
23181
|
-
"name": "slot",
|
|
23182
|
-
"text": "default - Add `HTML elements` or `components`, it is **recommended** to use `mds-push-notification` element."
|
|
23642
|
+
"text": "- Add `HTML elements` or `components`, it is **recommended** to use `mds-push-notification` element."
|
|
23183
23643
|
}
|
|
23184
23644
|
],
|
|
23185
23645
|
"usage": {
|
|
@@ -23272,7 +23732,7 @@
|
|
|
23272
23732
|
},
|
|
23273
23733
|
"signature": "hide() => Promise<void>",
|
|
23274
23734
|
"parameters": [],
|
|
23275
|
-
"docs": "",
|
|
23735
|
+
"docs": "Hides the notification container.",
|
|
23276
23736
|
"docsTags": []
|
|
23277
23737
|
},
|
|
23278
23738
|
{
|
|
@@ -23287,7 +23747,7 @@
|
|
|
23287
23747
|
{
|
|
23288
23748
|
"name": "notification",
|
|
23289
23749
|
"type": "HTMLMdsPushNotificationItemElement | HTMLMdsPushNotificationItemElement[]",
|
|
23290
|
-
"docs": ""
|
|
23750
|
+
"docs": "the notification item or items to remove"
|
|
23291
23751
|
}
|
|
23292
23752
|
],
|
|
23293
23753
|
"references": {
|
|
@@ -23307,11 +23767,16 @@
|
|
|
23307
23767
|
{
|
|
23308
23768
|
"name": "notification",
|
|
23309
23769
|
"type": "HTMLMdsPushNotificationItemElement | HTMLMdsPushNotificationItemElement[]",
|
|
23310
|
-
"docs": ""
|
|
23770
|
+
"docs": "the notification item or items to remove"
|
|
23311
23771
|
}
|
|
23312
23772
|
],
|
|
23313
|
-
"docs": "",
|
|
23314
|
-
"docsTags": [
|
|
23773
|
+
"docs": "Removes the given notification item(s) from the stack.",
|
|
23774
|
+
"docsTags": [
|
|
23775
|
+
{
|
|
23776
|
+
"name": "param",
|
|
23777
|
+
"text": "notification the notification item or items to remove"
|
|
23778
|
+
}
|
|
23779
|
+
]
|
|
23315
23780
|
},
|
|
23316
23781
|
{
|
|
23317
23782
|
"name": "show",
|
|
@@ -23332,7 +23797,7 @@
|
|
|
23332
23797
|
},
|
|
23333
23798
|
"signature": "show() => Promise<void>",
|
|
23334
23799
|
"parameters": [],
|
|
23335
|
-
"docs": "",
|
|
23800
|
+
"docs": "Shows the notification container.",
|
|
23336
23801
|
"docsTags": []
|
|
23337
23802
|
}
|
|
23338
23803
|
],
|
|
@@ -23432,16 +23897,8 @@
|
|
|
23432
23897
|
],
|
|
23433
23898
|
"slots": [
|
|
23434
23899
|
{
|
|
23435
|
-
"name": "
|
|
23436
|
-
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
23437
|
-
},
|
|
23438
|
-
{
|
|
23439
|
-
"name": "default",
|
|
23900
|
+
"name": "",
|
|
23440
23901
|
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-push-notification` element."
|
|
23441
|
-
},
|
|
23442
|
-
{
|
|
23443
|
-
"name": "top",
|
|
23444
|
-
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
23445
23902
|
}
|
|
23446
23903
|
],
|
|
23447
23904
|
"parts": [
|
|
@@ -23938,7 +24395,7 @@
|
|
|
23938
24395
|
},
|
|
23939
24396
|
"signature": "updateLang() => Promise<void>",
|
|
23940
24397
|
"parameters": [],
|
|
23941
|
-
"docs": "",
|
|
24398
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
23942
24399
|
"docsTags": []
|
|
23943
24400
|
}
|
|
23944
24401
|
],
|
|
@@ -24075,7 +24532,7 @@
|
|
|
24075
24532
|
"docsTags": [
|
|
24076
24533
|
{
|
|
24077
24534
|
"name": "slot",
|
|
24078
|
-
"text": "
|
|
24535
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
24079
24536
|
},
|
|
24080
24537
|
{
|
|
24081
24538
|
"name": "slot",
|
|
@@ -24213,11 +24670,11 @@
|
|
|
24213
24670
|
"styles": [],
|
|
24214
24671
|
"slots": [
|
|
24215
24672
|
{
|
|
24216
|
-
"name": "
|
|
24673
|
+
"name": "",
|
|
24217
24674
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
24218
24675
|
},
|
|
24219
24676
|
{
|
|
24220
|
-
"name": "
|
|
24677
|
+
"name": "author",
|
|
24221
24678
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
24222
24679
|
}
|
|
24223
24680
|
],
|
|
@@ -24239,7 +24696,12 @@
|
|
|
24239
24696
|
"tag": "mds-radial-menu",
|
|
24240
24697
|
"readme": "# mds-radial-menu\n\n\n",
|
|
24241
24698
|
"docs": "",
|
|
24242
|
-
"docsTags": [
|
|
24699
|
+
"docsTags": [
|
|
24700
|
+
{
|
|
24701
|
+
"name": "slot",
|
|
24702
|
+
"text": "item - Add `mds-radial-menu-item` elements or `components` to this slot."
|
|
24703
|
+
}
|
|
24704
|
+
],
|
|
24243
24705
|
"usage": {
|
|
24244
24706
|
"1. Description": "The `<mds-radial-menu>` web component is a floating action menu of the Magma Design System that arranges its child items along a circular arc around a central trigger button, expanding them outward when opened. It is the parent of a compound pair: it owns the trigger and the geometry, while each option is supplied as an `<mds-radial-menu-item>` in the `item` slot.\n\n#### Semantic Behavior\n\n- **Trigger button**: Renders a trigger button whose `tone`, `variant` and `size` are forwarded from the host; clicking it toggles the menu open and closed.\n- **Open state**: `opened` is the source of truth for visibility; when set the items animate out along the arc and the trigger icon swaps to a close glyph.\n- **Interaction mode**: With `interaction=\"rightclick\"` the trigger is hidden and the menu instead opens on right-click, centred on the cursor.\n- **Backdrop**: When `backdrop` is enabled an overlay is shown while the menu is open, so an outside click can dismiss it.\n- **Item registration**: Items are read from the `item` slot; the component assigns each item's position and propagates the host `size` down to every `<mds-radial-menu-item>`.\n\n#### Properties & Visual Configurations\n\nThe internal trigger consumes the shared `variant` / `tone` / `size` ladders defined in [`projects/stencil/SPEC.md`](../../../../SPEC.md#tone-and-variant-system); they default to `'dark'` / `'strong'` / `'lg'` here.\n\n#### Other behavioral props\n\n- **`angleStart`** and **`angleEnd`** define the angular sweep (in degrees) over which items are distributed; a 360° span produces a full ring, while a narrower range produces a fan. Setting `angleStart` greater than `angleEnd` reverses the distribution.\n- **`radius`** sets the distance (in `rem`) of the items from the centre, controlling how far they travel when the menu opens.\n- **`direction`** chooses whether items lay out `'clockwise'` or `'counterclockwise'` around the arc.\n- **`interaction`** selects how the menu is summoned: `'click'` shows the trigger button, `'rightclick'` hides it and opens at the cursor.\n- **`disc`** renders a decorative disc beneath the menu; **`icon`** overrides the default trigger glyph and defaults to the \"more-vert\" Material icon when unset.\n",
|
|
24245
24707
|
"2. Pattern": "Correct and idiomatic ways to use the `<mds-radial-menu>` component, ordered from most common to most specialized. Patterns assume a working knowledge of the variant / tone ladders documented in [`docs/COMPONENTS.md`](../../../../../../docs/COMPONENTS.md) and the generic stencil rules in [`projects/stencil/SPEC.md`](../../../../SPEC.md).\n\n`<mds-radial-menu>` is a compound component: it always needs one or more [`mds-radial-menu-item`](../../mds-radial-menu-item) children placed in the `item` slot.\n\n#### Basic Radial Menu\n\nThe minimal form: a trigger button with items arranged in a full ring. Each item requires `icon` (a slug from the Magma icon library) and `tooltip` (the accessible label shown on hover). The parent propagates its `size` down to every item automatically.\n\n```html\n<mds-radial-menu>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/favorite\" tooltip=\"Aggiungi ai preferiti\" variant=\"dark\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/email\" tooltip=\"Invia email\" variant=\"dark\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/print\" tooltip=\"Stampa\" variant=\"dark\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\"></mds-radial-menu-item>\n</mds-radial-menu>\n```\n\n#### Trigger Button Variant and Tone\n\nUse `variant` and `tone` to style the central trigger button to match the surrounding UI. Defaults are `variant=\"dark\"` and `tone=\"strong\"`.\n\n```html\n<!-- Primary trigger in a content area -->\n<mds-radial-menu variant=\"primary\" tone=\"strong\">\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/edit\" tooltip=\"Modifica\" variant=\"primary\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/ios-share\" tooltip=\"Condividi\" variant=\"primary\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\" tone=\"weak\"></mds-radial-menu-item>\n</mds-radial-menu>\n\n<!-- Light trigger overlaid on a dark image -->\n<mds-radial-menu variant=\"light\" tone=\"weak\">\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/favorite\" tooltip=\"Aggiungi ai preferiti\" variant=\"light\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/ios-share\" tooltip=\"Condividi\" variant=\"light\"></mds-radial-menu-item>\n</mds-radial-menu>\n```\n\n#### Fan Layout with Angle Range\n\nRestrict `angle-start` and `angle-end` to create a fan instead of a full ring. This is useful when the component is positioned in a corner of a card or image where a full ring would overlap content.\n\n```html\n<!-- Quarter-circle fan opening toward the top-left, placed at the bottom-right corner -->\n<mds-radial-menu angle-start=\"180\" angle-end=\"270\" direction=\"counterclockwise\" radius=\"5\">\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/favorite\" tooltip=\"Aggiungi ai preferiti\" variant=\"light\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/ios-share\" tooltip=\"Condividi\" variant=\"light\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\"></mds-radial-menu-item>\n</mds-radial-menu>\n```\n\n#### Adjusting the Radius\n\nSet `radius` (in `rem`) to control how far items travel from the trigger when the menu opens. Increase it when items would otherwise overlap; decrease it in constrained layouts.\n\n```html\n<mds-radial-menu radius=\"7\" variant=\"secondary\" tone=\"outline\">\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/edit\" tooltip=\"Modifica\" variant=\"secondary\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/content-copy\" tooltip=\"Copia\" variant=\"secondary\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\" tone=\"weak\"></mds-radial-menu-item>\n</mds-radial-menu>\n```\n\n#### Controlling the Open State Programmatically\n\nThe `opened` attribute reflects the menu's open state and can be set from JavaScript to open or close the menu without a user interaction. Remove the attribute (or set the prop to `undefined`) to close it - do not set `opened=\"false\"`.\n\n```html\n<mds-radial-menu id=\"menu-azioni\">\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/edit\" tooltip=\"Modifica\" variant=\"dark\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\" tone=\"weak\"></mds-radial-menu-item>\n</mds-radial-menu>\n\n<script>\n const menu = document.querySelector('#menu-azioni');\n // open programmatically\n menu.opened = true;\n // close programmatically - remove the prop, do not set false\n menu.opened = undefined;\n</script>\n```\n\n#### Contextual (Right-Click) Menu with Backdrop\n\nSet `interaction=\"rightclick\"` to hide the trigger button and open the menu at the cursor position on a context-menu event. Add `backdrop` to show an overlay that blocks the page while the menu is open.\n\n```html\n<mds-radial-menu interaction=\"rightclick\" disc backdrop>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/favorite\" tooltip=\"Aggiungi ai preferiti\" variant=\"dark\" tone=\"text\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/email\" tooltip=\"Invia email\" variant=\"dark\" tone=\"text\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/insert-drive-file\" tooltip=\"Nuovo documento\" variant=\"dark\" tone=\"text\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/info\" tooltip=\"Informazioni\" variant=\"dark\" tone=\"text\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/print\" tooltip=\"Stampa\" variant=\"dark\" tone=\"text\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\" tone=\"text\"></mds-radial-menu-item>\n</mds-radial-menu>\n```\n\n#### Disc Decoration\n\nEnable the `disc` attribute to render a decorative circular background beneath the items, visually grouping the open menu. Combine with `backdrop` for modal-style emphasis.\n\n```html\n<mds-radial-menu disc variant=\"dark\" tone=\"strong\">\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/edit\" tooltip=\"Modifica\" variant=\"dark\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/ios-share\" tooltip=\"Condividi\" variant=\"dark\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\" tone=\"weak\"></mds-radial-menu-item>\n</mds-radial-menu>\n```\n\n#### Custom Trigger Icon\n\nOverride the default \"more-vert\" glyph with any slug from the Magma icon library using the `icon` prop. The trigger automatically switches to the close icon while the menu is open.\n\n```html\n<mds-radial-menu icon=\"mi/baseline/add\" variant=\"primary\" tone=\"strong\">\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/edit\" tooltip=\"Modifica\" variant=\"primary\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/content-copy\" tooltip=\"Duplica\" variant=\"primary\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\" tone=\"weak\"></mds-radial-menu-item>\n</mds-radial-menu>\n```\n\n#### Sizing\n\nUse the `size` prop to resize the trigger button and all items simultaneously. Do not override dimensions with inline `width` / `height`.\n\n```html\n<mds-radial-menu size=\"sm\" variant=\"dark\" tone=\"strong\">\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/edit\" tooltip=\"Modifica\" variant=\"dark\" tone=\"weak\"></mds-radial-menu-item>\n <mds-radial-menu-item slot=\"item\" icon=\"mi/baseline/delete\" tooltip=\"Elimina\" variant=\"error\" tone=\"weak\"></mds-radial-menu-item>\n</mds-radial-menu>\n```\n\n#### Styling Customization\n\nStyle the component through its documented `--mds-radial-menu-*` CSS custom properties. Use Magma color tokens wrapped in `rgb(var(...))` so dark mode and high-contrast modes keep working.\n\n```css\n.my-context mds-radial-menu {\n --mds-radial-menu-radius: 7rem;\n --mds-radial-menu-transition-duration: 300ms;\n --mds-radial-menu-disc-background: rgb(var(--tone-neutral) / 0.8);\n --mds-radial-menu-disc-size: 12rem;\n}\n```\n",
|
|
@@ -24772,7 +25234,12 @@
|
|
|
24772
25234
|
"docs": "Timing function of the radial menu transition."
|
|
24773
25235
|
}
|
|
24774
25236
|
],
|
|
24775
|
-
"slots": [
|
|
25237
|
+
"slots": [
|
|
25238
|
+
{
|
|
25239
|
+
"name": "item",
|
|
25240
|
+
"docs": "Add `mds-radial-menu-item` elements or `components` to this slot."
|
|
25241
|
+
}
|
|
25242
|
+
],
|
|
24776
25243
|
"parts": [
|
|
24777
25244
|
{
|
|
24778
25245
|
"name": "radial-menu",
|
|
@@ -24852,7 +25319,7 @@
|
|
|
24852
25319
|
"mutable": false,
|
|
24853
25320
|
"attr": "size",
|
|
24854
25321
|
"reflectToAttr": true,
|
|
24855
|
-
"docs": "",
|
|
25322
|
+
"docs": "Specifies the size of the menu item.",
|
|
24856
25323
|
"docsTags": [
|
|
24857
25324
|
{
|
|
24858
25325
|
"name": "default",
|
|
@@ -25425,7 +25892,7 @@
|
|
|
25425
25892
|
"docsTags": [
|
|
25426
25893
|
{
|
|
25427
25894
|
"name": "slot",
|
|
25428
|
-
"text": "
|
|
25895
|
+
"text": "- Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
25429
25896
|
},
|
|
25430
25897
|
{
|
|
25431
25898
|
"name": "part",
|
|
@@ -25605,7 +26072,7 @@
|
|
|
25605
26072
|
},
|
|
25606
26073
|
"signature": "hide() => Promise<void>",
|
|
25607
26074
|
"parameters": [],
|
|
25608
|
-
"docs": "",
|
|
26075
|
+
"docs": "Hides the status bar.",
|
|
25609
26076
|
"docsTags": []
|
|
25610
26077
|
}
|
|
25611
26078
|
],
|
|
@@ -25630,7 +26097,7 @@
|
|
|
25630
26097
|
],
|
|
25631
26098
|
"slots": [
|
|
25632
26099
|
{
|
|
25633
|
-
"name": "
|
|
26100
|
+
"name": "",
|
|
25634
26101
|
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
25635
26102
|
}
|
|
25636
26103
|
],
|
|
@@ -25678,7 +26145,7 @@
|
|
|
25678
26145
|
"docsTags": [
|
|
25679
26146
|
{
|
|
25680
26147
|
"name": "slot",
|
|
25681
|
-
"text": "
|
|
26148
|
+
"text": "- Add `mds-tepper-bar-item` element/s."
|
|
25682
26149
|
},
|
|
25683
26150
|
{
|
|
25684
26151
|
"name": "slot",
|
|
@@ -25845,12 +26312,12 @@
|
|
|
25845
26312
|
],
|
|
25846
26313
|
"slots": [
|
|
25847
26314
|
{
|
|
25848
|
-
"name": "
|
|
25849
|
-
"docs": "Add `
|
|
26315
|
+
"name": "",
|
|
26316
|
+
"docs": "Add `mds-tepper-bar-item` element/s."
|
|
25850
26317
|
},
|
|
25851
26318
|
{
|
|
25852
|
-
"name": "
|
|
25853
|
-
"docs": "Add `mds-
|
|
26319
|
+
"name": "content",
|
|
26320
|
+
"docs": "Add `HTML elements` or `components`, one per mds-stepper-bar-item added"
|
|
25854
26321
|
}
|
|
25855
26322
|
],
|
|
25856
26323
|
"parts": [
|
|
@@ -26211,7 +26678,7 @@
|
|
|
26211
26678
|
},
|
|
26212
26679
|
"signature": "updateLang() => Promise<void>",
|
|
26213
26680
|
"parameters": [],
|
|
26214
|
-
"docs": "",
|
|
26681
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
26215
26682
|
"docsTags": []
|
|
26216
26683
|
}
|
|
26217
26684
|
],
|
|
@@ -26360,7 +26827,7 @@
|
|
|
26360
26827
|
},
|
|
26361
26828
|
{
|
|
26362
26829
|
"name": "slot",
|
|
26363
|
-
"text": "
|
|
26830
|
+
"text": "- Add `mds-tab-item` element/s."
|
|
26364
26831
|
}
|
|
26365
26832
|
],
|
|
26366
26833
|
"usage": {
|
|
@@ -26764,12 +27231,12 @@
|
|
|
26764
27231
|
],
|
|
26765
27232
|
"slots": [
|
|
26766
27233
|
{
|
|
26767
|
-
"name": "
|
|
26768
|
-
"docs": "Add `
|
|
27234
|
+
"name": "",
|
|
27235
|
+
"docs": "Add `mds-tab-item` element/s."
|
|
26769
27236
|
},
|
|
26770
27237
|
{
|
|
26771
|
-
"name": "
|
|
26772
|
-
"docs": "Add `mds-tab-item
|
|
27238
|
+
"name": "content",
|
|
27239
|
+
"docs": "Add `HTML elements` or `components`, one per mds-tab-item added."
|
|
26773
27240
|
}
|
|
26774
27241
|
],
|
|
26775
27242
|
"parts": [
|
|
@@ -26830,7 +27297,7 @@
|
|
|
26830
27297
|
"docsTags": [
|
|
26831
27298
|
{
|
|
26832
27299
|
"name": "slot",
|
|
26833
|
-
"text": "
|
|
27300
|
+
"text": "- Add `mds-tab-bar-item` element/s."
|
|
26834
27301
|
}
|
|
26835
27302
|
],
|
|
26836
27303
|
"usage": {
|
|
@@ -26873,7 +27340,7 @@
|
|
|
26873
27340
|
"styles": [],
|
|
26874
27341
|
"slots": [
|
|
26875
27342
|
{
|
|
26876
|
-
"name": "
|
|
27343
|
+
"name": "",
|
|
26877
27344
|
"docs": "Add `mds-tab-bar-item` element/s."
|
|
26878
27345
|
}
|
|
26879
27346
|
],
|
|
@@ -26892,7 +27359,7 @@
|
|
|
26892
27359
|
"docsTags": [
|
|
26893
27360
|
{
|
|
26894
27361
|
"name": "slot",
|
|
26895
|
-
"text": "
|
|
27362
|
+
"text": "- **Deprecated**, use the `label` property instead. Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
26896
27363
|
}
|
|
26897
27364
|
],
|
|
26898
27365
|
"usage": {
|
|
@@ -26912,7 +27379,7 @@
|
|
|
26912
27379
|
"mutable": false,
|
|
26913
27380
|
"attr": "icon",
|
|
26914
27381
|
"reflectToAttr": false,
|
|
26915
|
-
"docs": "",
|
|
27382
|
+
"docs": "The icon displayed in the tab bar item.",
|
|
26916
27383
|
"docsTags": [
|
|
26917
27384
|
{
|
|
26918
27385
|
"name": "default",
|
|
@@ -27066,7 +27533,7 @@
|
|
|
27066
27533
|
],
|
|
27067
27534
|
"slots": [
|
|
27068
27535
|
{
|
|
27069
|
-
"name": "
|
|
27536
|
+
"name": "",
|
|
27070
27537
|
"docs": "**Deprecated**, use the `label` property instead. Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
27071
27538
|
}
|
|
27072
27539
|
],
|
|
@@ -27559,11 +28026,11 @@
|
|
|
27559
28026
|
"docsTags": [
|
|
27560
28027
|
{
|
|
27561
28028
|
"name": "slot",
|
|
27562
|
-
"text": "
|
|
28029
|
+
"text": "- Put `mds-table-header`, `mds-table-body`, `mds-table-footer` element/s."
|
|
27563
28030
|
},
|
|
27564
28031
|
{
|
|
27565
28032
|
"name": "slot",
|
|
27566
|
-
"text": "batch-
|
|
28033
|
+
"text": "batch-action - Put `mds-button` element/s."
|
|
27567
28034
|
},
|
|
27568
28035
|
{
|
|
27569
28036
|
"name": "part",
|
|
@@ -27647,7 +28114,7 @@
|
|
|
27647
28114
|
"mutable": true,
|
|
27648
28115
|
"attr": "selection",
|
|
27649
28116
|
"reflectToAttr": true,
|
|
27650
|
-
"docs": "",
|
|
28117
|
+
"docs": "Indicates whether row selection is currently active in the table.",
|
|
27651
28118
|
"docsTags": [],
|
|
27652
28119
|
"values": [
|
|
27653
28120
|
{
|
|
@@ -27803,12 +28270,12 @@
|
|
|
27803
28270
|
],
|
|
27804
28271
|
"slots": [
|
|
27805
28272
|
{
|
|
27806
|
-
"name": "
|
|
27807
|
-
"docs": "Put `mds-
|
|
28273
|
+
"name": "",
|
|
28274
|
+
"docs": "Put `mds-table-header`, `mds-table-body`, `mds-table-footer` element/s."
|
|
27808
28275
|
},
|
|
27809
28276
|
{
|
|
27810
|
-
"name": "
|
|
27811
|
-
"docs": "Put `mds-
|
|
28277
|
+
"name": "batch-action",
|
|
28278
|
+
"docs": "Put `mds-button` element/s."
|
|
27812
28279
|
}
|
|
27813
28280
|
],
|
|
27814
28281
|
"parts": [
|
|
@@ -27854,7 +28321,7 @@
|
|
|
27854
28321
|
"docsTags": [
|
|
27855
28322
|
{
|
|
27856
28323
|
"name": "slot",
|
|
27857
|
-
"text": "
|
|
28324
|
+
"text": "- Put `mds-table-row` element/s."
|
|
27858
28325
|
}
|
|
27859
28326
|
],
|
|
27860
28327
|
"usage": {
|
|
@@ -27874,7 +28341,7 @@
|
|
|
27874
28341
|
"mutable": false,
|
|
27875
28342
|
"attr": "interactive",
|
|
27876
28343
|
"reflectToAttr": true,
|
|
27877
|
-
"docs": "",
|
|
28344
|
+
"docs": "Specifies whether the rows react to user interaction (hover/focus).",
|
|
27878
28345
|
"docsTags": [],
|
|
27879
28346
|
"values": [
|
|
27880
28347
|
{
|
|
@@ -27900,7 +28367,7 @@
|
|
|
27900
28367
|
"mutable": false,
|
|
27901
28368
|
"attr": "selection",
|
|
27902
28369
|
"reflectToAttr": true,
|
|
27903
|
-
"docs": "",
|
|
28370
|
+
"docs": "Enables the selection column for the rows in this table body.",
|
|
27904
28371
|
"docsTags": [],
|
|
27905
28372
|
"values": [
|
|
27906
28373
|
{
|
|
@@ -27948,7 +28415,7 @@
|
|
|
27948
28415
|
],
|
|
27949
28416
|
"slots": [
|
|
27950
28417
|
{
|
|
27951
|
-
"name": "
|
|
28418
|
+
"name": "",
|
|
27952
28419
|
"docs": "Put `mds-table-row` element/s."
|
|
27953
28420
|
}
|
|
27954
28421
|
],
|
|
@@ -27967,7 +28434,7 @@
|
|
|
27967
28434
|
"docsTags": [
|
|
27968
28435
|
{
|
|
27969
28436
|
"name": "slot",
|
|
27970
|
-
"text": "
|
|
28437
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
27971
28438
|
}
|
|
27972
28439
|
],
|
|
27973
28440
|
"usage": {
|
|
@@ -28033,7 +28500,7 @@
|
|
|
28033
28500
|
],
|
|
28034
28501
|
"slots": [
|
|
28035
28502
|
{
|
|
28036
|
-
"name": "
|
|
28503
|
+
"name": "",
|
|
28037
28504
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
28038
28505
|
}
|
|
28039
28506
|
],
|
|
@@ -28062,7 +28529,7 @@
|
|
|
28062
28529
|
"docsTags": [
|
|
28063
28530
|
{
|
|
28064
28531
|
"name": "slot",
|
|
28065
|
-
"text": "
|
|
28532
|
+
"text": "- Add `mds-table-row` element/s."
|
|
28066
28533
|
}
|
|
28067
28534
|
],
|
|
28068
28535
|
"usage": {
|
|
@@ -28077,7 +28544,7 @@
|
|
|
28077
28544
|
"styles": [],
|
|
28078
28545
|
"slots": [
|
|
28079
28546
|
{
|
|
28080
|
-
"name": "
|
|
28547
|
+
"name": "",
|
|
28081
28548
|
"docs": "Add `mds-table-row` element/s."
|
|
28082
28549
|
}
|
|
28083
28550
|
],
|
|
@@ -28096,7 +28563,7 @@
|
|
|
28096
28563
|
"docsTags": [
|
|
28097
28564
|
{
|
|
28098
28565
|
"name": "slot",
|
|
28099
|
-
"text": "
|
|
28566
|
+
"text": "- Add `mds-table-row` element/s."
|
|
28100
28567
|
}
|
|
28101
28568
|
],
|
|
28102
28569
|
"usage": {
|
|
@@ -28116,7 +28583,7 @@
|
|
|
28116
28583
|
"mutable": false,
|
|
28117
28584
|
"attr": "selectable",
|
|
28118
28585
|
"reflectToAttr": false,
|
|
28119
|
-
"docs": "",
|
|
28586
|
+
"docs": "Enables the select-all checkbox in the header.",
|
|
28120
28587
|
"docsTags": [],
|
|
28121
28588
|
"values": [
|
|
28122
28589
|
{
|
|
@@ -28145,12 +28612,12 @@
|
|
|
28145
28612
|
{
|
|
28146
28613
|
"name": "selectedItems",
|
|
28147
28614
|
"type": "number",
|
|
28148
|
-
"docs": ""
|
|
28615
|
+
"docs": "the number of currently selected rows"
|
|
28149
28616
|
},
|
|
28150
28617
|
{
|
|
28151
28618
|
"name": "totalItems",
|
|
28152
28619
|
"type": "number",
|
|
28153
|
-
"docs": ""
|
|
28620
|
+
"docs": "the total number of selectable rows"
|
|
28154
28621
|
}
|
|
28155
28622
|
],
|
|
28156
28623
|
"references": {
|
|
@@ -28170,16 +28637,25 @@
|
|
|
28170
28637
|
{
|
|
28171
28638
|
"name": "selectedItems",
|
|
28172
28639
|
"type": "number",
|
|
28173
|
-
"docs": ""
|
|
28640
|
+
"docs": "the number of currently selected rows"
|
|
28174
28641
|
},
|
|
28175
28642
|
{
|
|
28176
28643
|
"name": "totalItems",
|
|
28177
28644
|
"type": "number",
|
|
28178
|
-
"docs": ""
|
|
28645
|
+
"docs": "the total number of selectable rows"
|
|
28179
28646
|
}
|
|
28180
28647
|
],
|
|
28181
|
-
"docs": "",
|
|
28182
|
-
"docsTags": [
|
|
28648
|
+
"docs": "Updates the header's select-all state from the number of selected rows.",
|
|
28649
|
+
"docsTags": [
|
|
28650
|
+
{
|
|
28651
|
+
"name": "param",
|
|
28652
|
+
"text": "selectedItems the number of currently selected rows"
|
|
28653
|
+
},
|
|
28654
|
+
{
|
|
28655
|
+
"name": "param",
|
|
28656
|
+
"text": "totalItems the total number of selectable rows"
|
|
28657
|
+
}
|
|
28658
|
+
]
|
|
28183
28659
|
},
|
|
28184
28660
|
{
|
|
28185
28661
|
"name": "updateLang",
|
|
@@ -28200,7 +28676,7 @@
|
|
|
28200
28676
|
},
|
|
28201
28677
|
"signature": "updateLang() => Promise<void>",
|
|
28202
28678
|
"parameters": [],
|
|
28203
|
-
"docs": "",
|
|
28679
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
28204
28680
|
"docsTags": []
|
|
28205
28681
|
}
|
|
28206
28682
|
],
|
|
@@ -28209,7 +28685,7 @@
|
|
|
28209
28685
|
"styles": [],
|
|
28210
28686
|
"slots": [
|
|
28211
28687
|
{
|
|
28212
|
-
"name": "
|
|
28688
|
+
"name": "",
|
|
28213
28689
|
"docs": "Add `mds-table-row` element/s."
|
|
28214
28690
|
}
|
|
28215
28691
|
],
|
|
@@ -28278,7 +28754,7 @@
|
|
|
28278
28754
|
"mutable": true,
|
|
28279
28755
|
"attr": "direction",
|
|
28280
28756
|
"reflectToAttr": true,
|
|
28281
|
-
"docs": "",
|
|
28757
|
+
"docs": "Specifies the current sort direction of the column.",
|
|
28282
28758
|
"docsTags": [
|
|
28283
28759
|
{
|
|
28284
28760
|
"name": "default",
|
|
@@ -28411,7 +28887,7 @@
|
|
|
28411
28887
|
"docsTags": [
|
|
28412
28888
|
{
|
|
28413
28889
|
"name": "slot",
|
|
28414
|
-
"text": "
|
|
28890
|
+
"text": "- Put `mds-table-cell` element/s."
|
|
28415
28891
|
},
|
|
28416
28892
|
{
|
|
28417
28893
|
"name": "slot",
|
|
@@ -28435,7 +28911,7 @@
|
|
|
28435
28911
|
"mutable": false,
|
|
28436
28912
|
"attr": "interactive",
|
|
28437
28913
|
"reflectToAttr": true,
|
|
28438
|
-
"docs": "",
|
|
28914
|
+
"docs": "Specifies whether the row reacts to user interaction (hover/focus).",
|
|
28439
28915
|
"docsTags": [],
|
|
28440
28916
|
"values": [
|
|
28441
28917
|
{
|
|
@@ -28461,7 +28937,7 @@
|
|
|
28461
28937
|
"mutable": false,
|
|
28462
28938
|
"attr": "overlay-actions",
|
|
28463
28939
|
"reflectToAttr": true,
|
|
28464
|
-
"docs": "",
|
|
28940
|
+
"docs": "Specifies whether the row's actions are shown as an overlay.",
|
|
28465
28941
|
"docsTags": [],
|
|
28466
28942
|
"values": [
|
|
28467
28943
|
{
|
|
@@ -28484,7 +28960,7 @@
|
|
|
28484
28960
|
"mutable": false,
|
|
28485
28961
|
"attr": "selectable",
|
|
28486
28962
|
"reflectToAttr": true,
|
|
28487
|
-
"docs": "",
|
|
28963
|
+
"docs": "Specifies whether the row can be selected via a checkbox.",
|
|
28488
28964
|
"docsTags": [
|
|
28489
28965
|
{
|
|
28490
28966
|
"name": "default",
|
|
@@ -28516,7 +28992,7 @@
|
|
|
28516
28992
|
"mutable": true,
|
|
28517
28993
|
"attr": "selected",
|
|
28518
28994
|
"reflectToAttr": true,
|
|
28519
|
-
"docs": "",
|
|
28995
|
+
"docs": "Specifies whether the row is currently selected.",
|
|
28520
28996
|
"docsTags": [],
|
|
28521
28997
|
"values": [
|
|
28522
28998
|
{
|
|
@@ -28542,7 +29018,7 @@
|
|
|
28542
29018
|
"mutable": false,
|
|
28543
29019
|
"attr": "value",
|
|
28544
29020
|
"reflectToAttr": true,
|
|
28545
|
-
"docs": "",
|
|
29021
|
+
"docs": "The value associated with the row, emitted when the row is selected.",
|
|
28546
29022
|
"docsTags": [],
|
|
28547
29023
|
"values": [
|
|
28548
29024
|
{
|
|
@@ -28581,7 +29057,7 @@
|
|
|
28581
29057
|
},
|
|
28582
29058
|
"signature": "updateLang() => Promise<void>",
|
|
28583
29059
|
"parameters": [],
|
|
28584
|
-
"docs": "",
|
|
29060
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
28585
29061
|
"docsTags": []
|
|
28586
29062
|
}
|
|
28587
29063
|
],
|
|
@@ -28616,12 +29092,12 @@
|
|
|
28616
29092
|
],
|
|
28617
29093
|
"slots": [
|
|
28618
29094
|
{
|
|
28619
|
-
"name": "
|
|
28620
|
-
"docs": "Put `mds-
|
|
29095
|
+
"name": "",
|
|
29096
|
+
"docs": "Put `mds-table-cell` element/s."
|
|
28621
29097
|
},
|
|
28622
29098
|
{
|
|
28623
|
-
"name": "
|
|
28624
|
-
"docs": "Put `mds-
|
|
29099
|
+
"name": "action",
|
|
29100
|
+
"docs": "Put `mds-button` element/s or other kind of actions as aside menu for the single row."
|
|
28625
29101
|
}
|
|
28626
29102
|
],
|
|
28627
29103
|
"parts": [],
|
|
@@ -28651,7 +29127,7 @@
|
|
|
28651
29127
|
"docsTags": [
|
|
28652
29128
|
{
|
|
28653
29129
|
"name": "slot",
|
|
28654
|
-
"text": "
|
|
29130
|
+
"text": "- Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
28655
29131
|
}
|
|
28656
29132
|
],
|
|
28657
29133
|
"usage": {
|
|
@@ -29167,7 +29643,7 @@
|
|
|
29167
29643
|
],
|
|
29168
29644
|
"slots": [
|
|
29169
29645
|
{
|
|
29170
|
-
"name": "
|
|
29646
|
+
"name": "",
|
|
29171
29647
|
"docs": "Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
29172
29648
|
}
|
|
29173
29649
|
],
|
|
@@ -29388,7 +29864,7 @@
|
|
|
29388
29864
|
"docsTags": [
|
|
29389
29865
|
{
|
|
29390
29866
|
"name": "slot",
|
|
29391
|
-
"text": "
|
|
29867
|
+
"text": "- Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
29392
29868
|
},
|
|
29393
29869
|
{
|
|
29394
29870
|
"name": "slot",
|
|
@@ -29685,12 +30161,12 @@
|
|
|
29685
30161
|
],
|
|
29686
30162
|
"slots": [
|
|
29687
30163
|
{
|
|
29688
|
-
"name": "
|
|
29689
|
-
"docs": "Add `
|
|
30164
|
+
"name": "",
|
|
30165
|
+
"docs": "Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
29690
30166
|
},
|
|
29691
30167
|
{
|
|
29692
|
-
"name": "
|
|
29693
|
-
"docs": "Add `
|
|
30168
|
+
"name": "action",
|
|
30169
|
+
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
29694
30170
|
},
|
|
29695
30171
|
{
|
|
29696
30172
|
"name": "icon",
|
|
@@ -29718,7 +30194,7 @@
|
|
|
29718
30194
|
"docsTags": [
|
|
29719
30195
|
{
|
|
29720
30196
|
"name": "slot",
|
|
29721
|
-
"text": "
|
|
30197
|
+
"text": "- Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
29722
30198
|
}
|
|
29723
30199
|
],
|
|
29724
30200
|
"usage": {
|
|
@@ -30149,7 +30625,7 @@
|
|
|
30149
30625
|
],
|
|
30150
30626
|
"slots": [
|
|
30151
30627
|
{
|
|
30152
|
-
"name": "
|
|
30628
|
+
"name": "",
|
|
30153
30629
|
"docs": "Add `text string` to this slot, **avoid** to add `HTML elements` or `components` here."
|
|
30154
30630
|
}
|
|
30155
30631
|
],
|
|
@@ -30192,7 +30668,7 @@
|
|
|
30192
30668
|
"docsTags": [
|
|
30193
30669
|
{
|
|
30194
30670
|
"name": "slot",
|
|
30195
|
-
"text": "
|
|
30671
|
+
"text": "- Add `mds-tree-item` element/s."
|
|
30196
30672
|
}
|
|
30197
30673
|
],
|
|
30198
30674
|
"usage": {
|
|
@@ -30641,7 +31117,7 @@
|
|
|
30641
31117
|
],
|
|
30642
31118
|
"slots": [
|
|
30643
31119
|
{
|
|
30644
|
-
"name": "
|
|
31120
|
+
"name": "",
|
|
30645
31121
|
"docs": "Add `mds-tree-item` element/s."
|
|
30646
31122
|
}
|
|
30647
31123
|
],
|
|
@@ -30660,7 +31136,7 @@
|
|
|
30660
31136
|
"docsTags": [
|
|
30661
31137
|
{
|
|
30662
31138
|
"name": "slot",
|
|
30663
|
-
"text": "
|
|
31139
|
+
"text": "- Add `mds-tree-item` element/s."
|
|
30664
31140
|
},
|
|
30665
31141
|
{
|
|
30666
31142
|
"name": "slot",
|
|
@@ -30756,7 +31232,7 @@
|
|
|
30756
31232
|
"mutable": false,
|
|
30757
31233
|
"attr": "depth",
|
|
30758
31234
|
"reflectToAttr": true,
|
|
30759
|
-
"docs": "",
|
|
31235
|
+
"docs": "Specifies the tree branch depth. Internal: used by CSS to remove branch lines on first-level elements.",
|
|
30760
31236
|
"docsTags": [],
|
|
30761
31237
|
"values": [
|
|
30762
31238
|
{
|
|
@@ -30953,7 +31429,7 @@
|
|
|
30953
31429
|
},
|
|
30954
31430
|
"signature": "expand() => Promise<void>",
|
|
30955
31431
|
"parameters": [],
|
|
30956
|
-
"docs": "",
|
|
31432
|
+
"docs": "Expands the tree item, revealing its children.",
|
|
30957
31433
|
"docsTags": []
|
|
30958
31434
|
},
|
|
30959
31435
|
{
|
|
@@ -30975,7 +31451,7 @@
|
|
|
30975
31451
|
},
|
|
30976
31452
|
"signature": "updateLang() => Promise<void>",
|
|
30977
31453
|
"parameters": [],
|
|
30978
|
-
"docs": "",
|
|
31454
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
30979
31455
|
"docsTags": []
|
|
30980
31456
|
}
|
|
30981
31457
|
],
|
|
@@ -31178,12 +31654,12 @@
|
|
|
31178
31654
|
],
|
|
31179
31655
|
"slots": [
|
|
31180
31656
|
{
|
|
31181
|
-
"name": "
|
|
31182
|
-
"docs": "Add `mds-
|
|
31657
|
+
"name": "",
|
|
31658
|
+
"docs": "Add `mds-tree-item` element/s."
|
|
31183
31659
|
},
|
|
31184
31660
|
{
|
|
31185
|
-
"name": "
|
|
31186
|
-
"docs": "Add `mds-
|
|
31661
|
+
"name": "action",
|
|
31662
|
+
"docs": "Add `mds-button`, `mds-icon` or other types component and HTML element/s."
|
|
31187
31663
|
}
|
|
31188
31664
|
],
|
|
31189
31665
|
"parts": [
|
|
@@ -31365,7 +31841,7 @@
|
|
|
31365
31841
|
},
|
|
31366
31842
|
"signature": "updateLang() => Promise<void>",
|
|
31367
31843
|
"parameters": [],
|
|
31368
|
-
"docs": "",
|
|
31844
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
31369
31845
|
"docsTags": []
|
|
31370
31846
|
}
|
|
31371
31847
|
],
|
|
@@ -31444,7 +31920,7 @@
|
|
|
31444
31920
|
"docsTags": [
|
|
31445
31921
|
{
|
|
31446
31922
|
"name": "slot",
|
|
31447
|
-
"text": "
|
|
31923
|
+
"text": "- Add `text string`, `HTML elements` or `components` to this slot."
|
|
31448
31924
|
}
|
|
31449
31925
|
],
|
|
31450
31926
|
"usage": {
|
|
@@ -31549,7 +32025,7 @@
|
|
|
31549
32025
|
},
|
|
31550
32026
|
"signature": "updateLang() => Promise<void>",
|
|
31551
32027
|
"parameters": [],
|
|
31552
|
-
"docs": "",
|
|
32028
|
+
"docs": "Updates the component's texts to the locale currently set on the host element.",
|
|
31553
32029
|
"docsTags": []
|
|
31554
32030
|
}
|
|
31555
32031
|
],
|
|
@@ -31574,7 +32050,7 @@
|
|
|
31574
32050
|
],
|
|
31575
32051
|
"slots": [
|
|
31576
32052
|
{
|
|
31577
|
-
"name": "
|
|
32053
|
+
"name": "",
|
|
31578
32054
|
"docs": "Add `text string`, `HTML elements` or `components` to this slot."
|
|
31579
32055
|
}
|
|
31580
32056
|
],
|
|
@@ -31614,7 +32090,7 @@
|
|
|
31614
32090
|
"docsTags": [
|
|
31615
32091
|
{
|
|
31616
32092
|
"name": "slot",
|
|
31617
|
-
"text": "
|
|
32093
|
+
"text": "- Write browser support missing message here."
|
|
31618
32094
|
},
|
|
31619
32095
|
{
|
|
31620
32096
|
"name": "slot",
|
|
@@ -31898,12 +32374,12 @@
|
|
|
31898
32374
|
],
|
|
31899
32375
|
"slots": [
|
|
31900
32376
|
{
|
|
31901
|
-
"name": "
|
|
31902
|
-
"docs": "
|
|
32377
|
+
"name": "",
|
|
32378
|
+
"docs": "Write browser support missing message here."
|
|
31903
32379
|
},
|
|
31904
32380
|
{
|
|
31905
|
-
"name": "
|
|
31906
|
-
"docs": "
|
|
32381
|
+
"name": "content",
|
|
32382
|
+
"docs": "Add video content overlay here, add `text string`, `HTML elements` or `components` to this slot."
|
|
31907
32383
|
}
|
|
31908
32384
|
],
|
|
31909
32385
|
"parts": [],
|
|
@@ -31921,7 +32397,7 @@
|
|
|
31921
32397
|
"docsTags": [
|
|
31922
32398
|
{
|
|
31923
32399
|
"name": "slot",
|
|
31924
|
-
"text": "
|
|
32400
|
+
"text": "- Add `HTML elements` or `components` to this slot, it is **recommended** to use `mds-img` or `img` element."
|
|
31925
32401
|
},
|
|
31926
32402
|
{
|
|
31927
32403
|
"name": "slot",
|
|
@@ -31957,6 +32433,10 @@
|
|
|
31957
32433
|
}
|
|
31958
32434
|
],
|
|
31959
32435
|
"slots": [
|
|
32436
|
+
{
|
|
32437
|
+
"name": "",
|
|
32438
|
+
"docs": "Add `HTML elements` or `components` to this slot, it is **recommended** to use `mds-img` or `img` element."
|
|
32439
|
+
},
|
|
31960
32440
|
{
|
|
31961
32441
|
"name": "action",
|
|
31962
32442
|
"docs": "Add `HTML elements` or `components`, it is **recommended** to use `mds-button` element."
|
|
@@ -31964,10 +32444,6 @@
|
|
|
31964
32444
|
{
|
|
31965
32445
|
"name": "content",
|
|
31966
32446
|
"docs": "Put text elements here,"
|
|
31967
|
-
},
|
|
31968
|
-
{
|
|
31969
|
-
"name": "default",
|
|
31970
|
-
"docs": "Add `HTML elements` or `components` to this slot, it is **recommended** to use `mds-img` or `img` element."
|
|
31971
32447
|
}
|
|
31972
32448
|
],
|
|
31973
32449
|
"parts": [
|