UNPKG

@angular/material

Version:
98 lines (97 loc) 108 kB
import { MatButtonBase, MatIconButton } from './_icon-button-chunk.mjs'; export { MAT_BUTTON_CONFIG, MatIconAnchor } from './_icon-button-chunk.mjs'; import * as i0 from '@angular/core'; import { Input, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, inject, booleanAttribute, NgModule } from '@angular/core'; import { BidiModule } from '@angular/cdk/bidi'; import { MatRippleModule } from './_ripple-module-chunk.mjs'; import '@angular/cdk/a11y'; import '@angular/cdk/private'; import './_ripple-loader-chunk.mjs'; import '@angular/cdk/platform'; import './_animation-chunk.mjs'; import '@angular/cdk/layout'; import './_ripple-chunk.mjs'; import '@angular/cdk/coercion'; import './_structural-styles-chunk.mjs'; const APPEARANCE_CLASSES = new Map([['text', ['mat-mdc-button']], ['filled', ['mdc-button--unelevated', 'mat-mdc-unelevated-button']], ['elevated', ['mdc-button--raised', 'mat-mdc-raised-button']], ['outlined', ['mdc-button--outlined', 'mat-mdc-outlined-button']], ['tonal', ['mat-tonal-button']]]); class MatButton extends MatButtonBase { get appearance() { return this._appearance; } set appearance(value) { this.setAppearance(value || this._config?.defaultAppearance || 'text'); } _appearance = null; constructor() { super(); const inferredAppearance = _inferAppearance(this._elementRef.nativeElement); if (inferredAppearance) { this.setAppearance(inferredAppearance); } } setAppearance(appearance) { if (appearance === this._appearance) { return; } const classList = this._elementRef.nativeElement.classList; const previousClasses = this._appearance ? APPEARANCE_CLASSES.get(this._appearance) : null; const newClasses = APPEARANCE_CLASSES.get(appearance); if ((typeof ngDevMode === 'undefined' || ngDevMode) && !newClasses) { throw new Error(`Unsupported MatButton appearance "${appearance}"`); } if (previousClasses) { classList.remove(...previousClasses); } classList.add(...newClasses); this._appearance = appearance; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0-next.5", ngImport: i0, type: MatButton, deps: [], target: i0.ɵɵFactoryTarget.Component }); static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0-next.5", type: MatButton, isStandalone: true, selector: "\n button[matButton], a[matButton], button[mat-button], button[mat-raised-button],\n button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button],\n a[mat-flat-button], a[mat-stroked-button]\n ", inputs: { appearance: ["matButton", "appearance"] }, host: { classAttribute: "mdc-button" }, exportAs: ["matButton", "matAnchor"], usesInheritance: true, ngImport: i0, template: "<span\n class=\"mat-mdc-button-persistent-ripple\"\n [class.mdc-button__ripple]=\"!_isFab\"\n [class.mdc-fab__ripple]=\"_isFab\"></span>\n\n<ng-content select=\".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])\">\n</ng-content>\n\n<span class=\"mdc-button__label\"><ng-content></ng-content></span>\n\n<ng-content select=\".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]\">\n</ng-content>\n\n<!--\n The indicator can't be directly on the button, because MDC uses ::before for high contrast\n indication and it can't be on the ripple, because it has a border radius and overflow: hidden.\n-->\n<span class=\"mat-focus-indicator\"></span>\n\n<span class=\"mat-mdc-button-touch-target\"></span>\n", styles: [".mat-mdc-button-base {\n text-decoration: none;\n}\n.mat-mdc-button-base .mat-icon {\n min-height: fit-content;\n flex-shrink: 0;\n}\n@media (hover: none) {\n .mat-mdc-button-base:hover > span.mat-mdc-button-persistent-ripple::before {\n opacity: 0;\n }\n}\n\n.mdc-button {\n -webkit-user-select: none;\n user-select: none;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 64px;\n border: none;\n outline: none;\n line-height: inherit;\n -webkit-appearance: none;\n overflow: visible;\n vertical-align: middle;\n background: transparent;\n padding: 0 8px;\n}\n.mdc-button::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n.mdc-button:active {\n outline: none;\n}\n.mdc-button:hover {\n cursor: pointer;\n}\n.mdc-button:disabled {\n cursor: default;\n pointer-events: none;\n}\n.mdc-button[hidden] {\n display: none;\n}\n.mdc-button .mdc-button__label {\n position: relative;\n}\n\n.mat-mdc-button {\n padding: 0 var(--mat-button-text-horizontal-padding, 12px);\n height: var(--mat-button-text-container-height, 40px);\n font-family: var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-text-label-text-transform);\n font-weight: var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight));\n}\n.mat-mdc-button, .mat-mdc-button .mdc-button__ripple {\n border-radius: var(--mat-button-text-container-shape, var(--mat-sys-corner-full));\n}\n.mat-mdc-button:not(:disabled) {\n color: var(--mat-button-text-label-text-color, var(--mat-sys-primary));\n}\n.mat-mdc-button[disabled], .mat-mdc-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-mdc-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n.mat-mdc-button:has(.material-icons, mat-icon, [matButtonIcon]) {\n padding: 0 var(--mat-button-text-with-icon-horizontal-padding, 16px);\n}\n.mat-mdc-button > .mat-icon {\n margin-right: var(--mat-button-text-icon-spacing, 8px);\n margin-left: var(--mat-button-text-icon-offset, -4px);\n}\n[dir=rtl] .mat-mdc-button > .mat-icon {\n margin-right: var(--mat-button-text-icon-offset, -4px);\n margin-left: var(--mat-button-text-icon-spacing, 8px);\n}\n.mat-mdc-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-text-icon-offset, -4px);\n margin-left: var(--mat-button-text-icon-spacing, 8px);\n}\n[dir=rtl] .mat-mdc-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-text-icon-spacing, 8px);\n margin-left: var(--mat-button-text-icon-offset, -4px);\n}\n.mat-mdc-button .mat-ripple-element {\n background-color: var(--mat-button-text-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-text-state-layer-color, var(--mat-sys-primary));\n}\n.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-text-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-text-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-text-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-text-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-text-touch-target-size, 48px);\n display: var(--mat-button-text-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n\n.mat-mdc-unelevated-button {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n height: var(--mat-button-filled-container-height, 40px);\n font-family: var(--mat-button-filled-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-filled-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-filled-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-filled-label-text-transform);\n font-weight: var(--mat-button-filled-label-text-weight, var(--mat-sys-label-large-weight));\n padding: 0 var(--mat-button-filled-horizontal-padding, 24px);\n}\n.mat-mdc-unelevated-button > .mat-icon {\n margin-right: var(--mat-button-filled-icon-spacing, 8px);\n margin-left: var(--mat-button-filled-icon-offset, -8px);\n}\n[dir=rtl] .mat-mdc-unelevated-button > .mat-icon {\n margin-right: var(--mat-button-filled-icon-offset, -8px);\n margin-left: var(--mat-button-filled-icon-spacing, 8px);\n}\n.mat-mdc-unelevated-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-filled-icon-offset, -8px);\n margin-left: var(--mat-button-filled-icon-spacing, 8px);\n}\n[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-filled-icon-spacing, 8px);\n margin-left: var(--mat-button-filled-icon-offset, -8px);\n}\n.mat-mdc-unelevated-button .mat-ripple-element {\n background-color: var(--mat-button-filled-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-filled-state-layer-color, var(--mat-sys-on-primary));\n}\n.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-filled-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-unelevated-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-filled-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-unelevated-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-unelevated-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-filled-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-unelevated-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-filled-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-unelevated-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-filled-touch-target-size, 48px);\n display: var(--mat-button-filled-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n.mat-mdc-unelevated-button:not(:disabled) {\n color: var(--mat-button-filled-label-text-color, var(--mat-sys-on-primary));\n background-color: var(--mat-button-filled-container-color, var(--mat-sys-primary));\n}\n.mat-mdc-unelevated-button, .mat-mdc-unelevated-button .mdc-button__ripple {\n border-radius: var(--mat-button-filled-container-shape, var(--mat-sys-corner-full));\n}\n.mat-mdc-unelevated-button[disabled], .mat-mdc-unelevated-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n background-color: var(--mat-button-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n\n.mat-mdc-raised-button {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n box-shadow: var(--mat-button-protected-container-elevation-shadow, var(--mat-sys-level1));\n height: var(--mat-button-protected-container-height, 40px);\n font-family: var(--mat-button-protected-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-protected-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-protected-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-protected-label-text-transform);\n font-weight: var(--mat-button-protected-label-text-weight, var(--mat-sys-label-large-weight));\n padding: 0 var(--mat-button-protected-horizontal-padding, 24px);\n}\n.mat-mdc-raised-button > .mat-icon {\n margin-right: var(--mat-button-protected-icon-spacing, 8px);\n margin-left: var(--mat-button-protected-icon-offset, -8px);\n}\n[dir=rtl] .mat-mdc-raised-button > .mat-icon {\n margin-right: var(--mat-button-protected-icon-offset, -8px);\n margin-left: var(--mat-button-protected-icon-spacing, 8px);\n}\n.mat-mdc-raised-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-protected-icon-offset, -8px);\n margin-left: var(--mat-button-protected-icon-spacing, 8px);\n}\n[dir=rtl] .mat-mdc-raised-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-protected-icon-spacing, 8px);\n margin-left: var(--mat-button-protected-icon-offset, -8px);\n}\n.mat-mdc-raised-button .mat-ripple-element {\n background-color: var(--mat-button-protected-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-protected-state-layer-color, var(--mat-sys-primary));\n}\n.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-protected-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-raised-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-protected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-raised-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-raised-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-protected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-raised-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-protected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-raised-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-protected-touch-target-size, 48px);\n display: var(--mat-button-protected-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n.mat-mdc-raised-button:not(:disabled) {\n color: var(--mat-button-protected-label-text-color, var(--mat-sys-primary));\n background-color: var(--mat-button-protected-container-color, var(--mat-sys-surface));\n}\n.mat-mdc-raised-button, .mat-mdc-raised-button .mdc-button__ripple {\n border-radius: var(--mat-button-protected-container-shape, var(--mat-sys-corner-full));\n}\n@media (hover: hover) {\n .mat-mdc-raised-button:hover {\n box-shadow: var(--mat-button-protected-hover-container-elevation-shadow, var(--mat-sys-level2));\n }\n}\n.mat-mdc-raised-button:focus {\n box-shadow: var(--mat-button-protected-focus-container-elevation-shadow, var(--mat-sys-level1));\n}\n.mat-mdc-raised-button:active, .mat-mdc-raised-button:focus:active {\n box-shadow: var(--mat-button-protected-pressed-container-elevation-shadow, var(--mat-sys-level1));\n}\n.mat-mdc-raised-button[disabled], .mat-mdc-raised-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-protected-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n background-color: var(--mat-button-protected-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mat-mdc-raised-button[disabled].mat-mdc-button-disabled, .mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled {\n box-shadow: var(--mat-button-protected-disabled-container-elevation-shadow, var(--mat-sys-level0));\n}\n.mat-mdc-raised-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n\n.mat-mdc-outlined-button {\n border-style: solid;\n transition: border 280ms cubic-bezier(0.4, 0, 0.2, 1);\n height: var(--mat-button-outlined-container-height, 40px);\n font-family: var(--mat-button-outlined-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-outlined-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-outlined-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-outlined-label-text-transform);\n font-weight: var(--mat-button-outlined-label-text-weight, var(--mat-sys-label-large-weight));\n border-radius: var(--mat-button-outlined-container-shape, var(--mat-sys-corner-full));\n border-width: var(--mat-button-outlined-outline-width, 1px);\n padding: 0 var(--mat-button-outlined-horizontal-padding, 24px);\n}\n.mat-mdc-outlined-button > .mat-icon {\n margin-right: var(--mat-button-outlined-icon-spacing, 8px);\n margin-left: var(--mat-button-outlined-icon-offset, -8px);\n}\n[dir=rtl] .mat-mdc-outlined-button > .mat-icon {\n margin-right: var(--mat-button-outlined-icon-offset, -8px);\n margin-left: var(--mat-button-outlined-icon-spacing, 8px);\n}\n.mat-mdc-outlined-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-outlined-icon-offset, -8px);\n margin-left: var(--mat-button-outlined-icon-spacing, 8px);\n}\n[dir=rtl] .mat-mdc-outlined-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-outlined-icon-spacing, 8px);\n margin-left: var(--mat-button-outlined-icon-offset, -8px);\n}\n.mat-mdc-outlined-button .mat-ripple-element {\n background-color: var(--mat-button-outlined-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-outlined-state-layer-color, var(--mat-sys-primary));\n}\n.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-outlined-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-outlined-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-outlined-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-outlined-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-outlined-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-outlined-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-outlined-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-outlined-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-outlined-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-outlined-touch-target-size, 48px);\n display: var(--mat-button-outlined-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n.mat-mdc-outlined-button:not(:disabled) {\n color: var(--mat-button-outlined-label-text-color, var(--mat-sys-primary));\n border-color: var(--mat-button-outlined-outline-color, var(--mat-sys-outline));\n}\n.mat-mdc-outlined-button[disabled], .mat-mdc-outlined-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n border-color: var(--mat-button-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n\n.mat-tonal-button {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n height: var(--mat-button-tonal-container-height, 40px);\n font-family: var(--mat-button-tonal-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-tonal-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-tonal-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-tonal-label-text-transform);\n font-weight: var(--mat-button-tonal-label-text-weight, var(--mat-sys-label-large-weight));\n padding: 0 var(--mat-button-tonal-horizontal-padding, 24px);\n}\n.mat-tonal-button:not(:disabled) {\n color: var(--mat-button-tonal-label-text-color, var(--mat-sys-on-secondary-container));\n background-color: var(--mat-button-tonal-container-color, var(--mat-sys-secondary-container));\n}\n.mat-tonal-button, .mat-tonal-button .mdc-button__ripple {\n border-radius: var(--mat-button-tonal-container-shape, var(--mat-sys-corner-full));\n}\n.mat-tonal-button[disabled], .mat-tonal-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-tonal-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n background-color: var(--mat-button-tonal-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mat-tonal-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n.mat-tonal-button > .mat-icon {\n margin-right: var(--mat-button-tonal-icon-spacing, 8px);\n margin-left: var(--mat-button-tonal-icon-offset, -8px);\n}\n[dir=rtl] .mat-tonal-button > .mat-icon {\n margin-right: var(--mat-button-tonal-icon-offset, -8px);\n margin-left: var(--mat-button-tonal-icon-spacing, 8px);\n}\n.mat-tonal-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-tonal-icon-offset, -8px);\n margin-left: var(--mat-button-tonal-icon-spacing, 8px);\n}\n[dir=rtl] .mat-tonal-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-tonal-icon-spacing, 8px);\n margin-left: var(--mat-button-tonal-icon-offset, -8px);\n}\n.mat-tonal-button .mat-ripple-element {\n background-color: var(--mat-button-tonal-ripple-color, color-mix(in srgb, var(--mat-sys-on-secondary-container) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-tonal-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-tonal-state-layer-color, var(--mat-sys-on-secondary-container));\n}\n.mat-tonal-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-tonal-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-tonal-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-tonal-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-tonal-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-tonal-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-tonal-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-tonal-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-tonal-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-tonal-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-tonal-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-tonal-touch-target-size, 48px);\n display: var(--mat-button-tonal-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n\n.mat-mdc-button,\n.mat-mdc-unelevated-button,\n.mat-mdc-raised-button,\n.mat-mdc-outlined-button,\n.mat-tonal-button {\n -webkit-tap-highlight-color: transparent;\n}\n.mat-mdc-button .mat-mdc-button-ripple,\n.mat-mdc-button .mat-mdc-button-persistent-ripple,\n.mat-mdc-button .mat-mdc-button-persistent-ripple::before,\n.mat-mdc-unelevated-button .mat-mdc-button-ripple,\n.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,\n.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,\n.mat-mdc-raised-button .mat-mdc-button-ripple,\n.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,\n.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,\n.mat-mdc-outlined-button .mat-mdc-button-ripple,\n.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,\n.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before,\n.mat-tonal-button .mat-mdc-button-ripple,\n.mat-tonal-button .mat-mdc-button-persistent-ripple,\n.mat-tonal-button .mat-mdc-button-persistent-ripple::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n pointer-events: none;\n border-radius: inherit;\n}\n.mat-mdc-button .mat-mdc-button-ripple,\n.mat-mdc-unelevated-button .mat-mdc-button-ripple,\n.mat-mdc-raised-button .mat-mdc-button-ripple,\n.mat-mdc-outlined-button .mat-mdc-button-ripple,\n.mat-tonal-button .mat-mdc-button-ripple {\n overflow: hidden;\n}\n.mat-mdc-button .mat-mdc-button-persistent-ripple::before,\n.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,\n.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,\n.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before,\n.mat-tonal-button .mat-mdc-button-persistent-ripple::before {\n content: \"\";\n opacity: 0;\n}\n.mat-mdc-button .mdc-button__label,\n.mat-mdc-button .mat-icon,\n.mat-mdc-unelevated-button .mdc-button__label,\n.mat-mdc-unelevated-button .mat-icon,\n.mat-mdc-raised-button .mdc-button__label,\n.mat-mdc-raised-button .mat-icon,\n.mat-mdc-outlined-button .mdc-button__label,\n.mat-mdc-outlined-button .mat-icon,\n.mat-tonal-button .mdc-button__label,\n.mat-tonal-button .mat-icon {\n z-index: 1;\n position: relative;\n}\n.mat-mdc-button .mat-focus-indicator,\n.mat-mdc-unelevated-button .mat-focus-indicator,\n.mat-mdc-raised-button .mat-focus-indicator,\n.mat-mdc-outlined-button .mat-focus-indicator,\n.mat-tonal-button .mat-focus-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n border-radius: inherit;\n}\n.mat-mdc-button:focus-visible > .mat-focus-indicator::before,\n.mat-mdc-unelevated-button:focus-visible > .mat-focus-indicator::before,\n.mat-mdc-raised-button:focus-visible > .mat-focus-indicator::before,\n.mat-mdc-outlined-button:focus-visible > .mat-focus-indicator::before,\n.mat-tonal-button:focus-visible > .mat-focus-indicator::before {\n content: \"\";\n border-radius: inherit;\n}\n.mat-mdc-button._mat-animation-noopable,\n.mat-mdc-unelevated-button._mat-animation-noopable,\n.mat-mdc-raised-button._mat-animation-noopable,\n.mat-mdc-outlined-button._mat-animation-noopable,\n.mat-tonal-button._mat-animation-noopable {\n transition: none !important;\n animation: none !important;\n}\n.mat-mdc-button > .mat-icon,\n.mat-mdc-unelevated-button > .mat-icon,\n.mat-mdc-raised-button > .mat-icon,\n.mat-mdc-outlined-button > .mat-icon,\n.mat-tonal-button > .mat-icon {\n display: inline-block;\n position: relative;\n vertical-align: top;\n font-size: 1.125rem;\n height: 1.125rem;\n width: 1.125rem;\n}\n\n.mat-mdc-outlined-button .mat-mdc-button-ripple,\n.mat-mdc-outlined-button .mdc-button__ripple {\n top: -1px;\n left: -1px;\n bottom: -1px;\n right: -1px;\n}\n\n.mat-mdc-unelevated-button .mat-focus-indicator::before,\n.mat-tonal-button .mat-focus-indicator::before,\n.mat-mdc-raised-button .mat-focus-indicator::before {\n margin: calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px) * -1);\n}\n\n.mat-mdc-outlined-button .mat-focus-indicator::before {\n margin: calc(calc(var(--mat-focus-indicator-border-width, 3px) + 3px) * -1);\n}\n", "@media (forced-colors: active) {\n .mat-mdc-button:not(.mdc-button--outlined),\n .mat-mdc-unelevated-button:not(.mdc-button--outlined),\n .mat-mdc-raised-button:not(.mdc-button--outlined),\n .mat-mdc-outlined-button:not(.mdc-button--outlined),\n .mat-mdc-button-base.mat-tonal-button,\n .mat-mdc-icon-button.mat-mdc-icon-button,\n .mat-mdc-outlined-button .mdc-button__ripple {\n outline: solid 1px;\n }\n}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0-next.5", ngImport: i0, type: MatButton, decorators: [{ type: Component, args: [{ selector: ` button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] `, host: { 'class': 'mdc-button' }, exportAs: 'matButton, matAnchor', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"mat-mdc-button-persistent-ripple\"\n [class.mdc-button__ripple]=\"!_isFab\"\n [class.mdc-fab__ripple]=\"_isFab\"></span>\n\n<ng-content select=\".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])\">\n</ng-content>\n\n<span class=\"mdc-button__label\"><ng-content></ng-content></span>\n\n<ng-content select=\".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]\">\n</ng-content>\n\n<!--\n The indicator can't be directly on the button, because MDC uses ::before for high contrast\n indication and it can't be on the ripple, because it has a border radius and overflow: hidden.\n-->\n<span class=\"mat-focus-indicator\"></span>\n\n<span class=\"mat-mdc-button-touch-target\"></span>\n", styles: [".mat-mdc-button-base {\n text-decoration: none;\n}\n.mat-mdc-button-base .mat-icon {\n min-height: fit-content;\n flex-shrink: 0;\n}\n@media (hover: none) {\n .mat-mdc-button-base:hover > span.mat-mdc-button-persistent-ripple::before {\n opacity: 0;\n }\n}\n\n.mdc-button {\n -webkit-user-select: none;\n user-select: none;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: 64px;\n border: none;\n outline: none;\n line-height: inherit;\n -webkit-appearance: none;\n overflow: visible;\n vertical-align: middle;\n background: transparent;\n padding: 0 8px;\n}\n.mdc-button::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\n.mdc-button:active {\n outline: none;\n}\n.mdc-button:hover {\n cursor: pointer;\n}\n.mdc-button:disabled {\n cursor: default;\n pointer-events: none;\n}\n.mdc-button[hidden] {\n display: none;\n}\n.mdc-button .mdc-button__label {\n position: relative;\n}\n\n.mat-mdc-button {\n padding: 0 var(--mat-button-text-horizontal-padding, 12px);\n height: var(--mat-button-text-container-height, 40px);\n font-family: var(--mat-button-text-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-text-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-text-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-text-label-text-transform);\n font-weight: var(--mat-button-text-label-text-weight, var(--mat-sys-label-large-weight));\n}\n.mat-mdc-button, .mat-mdc-button .mdc-button__ripple {\n border-radius: var(--mat-button-text-container-shape, var(--mat-sys-corner-full));\n}\n.mat-mdc-button:not(:disabled) {\n color: var(--mat-button-text-label-text-color, var(--mat-sys-primary));\n}\n.mat-mdc-button[disabled], .mat-mdc-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-text-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-mdc-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n.mat-mdc-button:has(.material-icons, mat-icon, [matButtonIcon]) {\n padding: 0 var(--mat-button-text-with-icon-horizontal-padding, 16px);\n}\n.mat-mdc-button > .mat-icon {\n margin-right: var(--mat-button-text-icon-spacing, 8px);\n margin-left: var(--mat-button-text-icon-offset, -4px);\n}\n[dir=rtl] .mat-mdc-button > .mat-icon {\n margin-right: var(--mat-button-text-icon-offset, -4px);\n margin-left: var(--mat-button-text-icon-spacing, 8px);\n}\n.mat-mdc-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-text-icon-offset, -4px);\n margin-left: var(--mat-button-text-icon-spacing, 8px);\n}\n[dir=rtl] .mat-mdc-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-text-icon-spacing, 8px);\n margin-left: var(--mat-button-text-icon-offset, -4px);\n}\n.mat-mdc-button .mat-ripple-element {\n background-color: var(--mat-button-text-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-text-state-layer-color, var(--mat-sys-primary));\n}\n.mat-mdc-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-text-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-text-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-text-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-text-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-text-touch-target-size, 48px);\n display: var(--mat-button-text-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n\n.mat-mdc-unelevated-button {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n height: var(--mat-button-filled-container-height, 40px);\n font-family: var(--mat-button-filled-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-filled-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-filled-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-filled-label-text-transform);\n font-weight: var(--mat-button-filled-label-text-weight, var(--mat-sys-label-large-weight));\n padding: 0 var(--mat-button-filled-horizontal-padding, 24px);\n}\n.mat-mdc-unelevated-button > .mat-icon {\n margin-right: var(--mat-button-filled-icon-spacing, 8px);\n margin-left: var(--mat-button-filled-icon-offset, -8px);\n}\n[dir=rtl] .mat-mdc-unelevated-button > .mat-icon {\n margin-right: var(--mat-button-filled-icon-offset, -8px);\n margin-left: var(--mat-button-filled-icon-spacing, 8px);\n}\n.mat-mdc-unelevated-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-filled-icon-offset, -8px);\n margin-left: var(--mat-button-filled-icon-spacing, 8px);\n}\n[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-filled-icon-spacing, 8px);\n margin-left: var(--mat-button-filled-icon-offset, -8px);\n}\n.mat-mdc-unelevated-button .mat-ripple-element {\n background-color: var(--mat-button-filled-ripple-color, color-mix(in srgb, var(--mat-sys-on-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-filled-state-layer-color, var(--mat-sys-on-primary));\n}\n.mat-mdc-unelevated-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-filled-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-unelevated-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-filled-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-unelevated-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-unelevated-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-filled-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-unelevated-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-filled-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-unelevated-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-filled-touch-target-size, 48px);\n display: var(--mat-button-filled-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n.mat-mdc-unelevated-button:not(:disabled) {\n color: var(--mat-button-filled-label-text-color, var(--mat-sys-on-primary));\n background-color: var(--mat-button-filled-container-color, var(--mat-sys-primary));\n}\n.mat-mdc-unelevated-button, .mat-mdc-unelevated-button .mdc-button__ripple {\n border-radius: var(--mat-button-filled-container-shape, var(--mat-sys-corner-full));\n}\n.mat-mdc-unelevated-button[disabled], .mat-mdc-unelevated-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-filled-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n background-color: var(--mat-button-filled-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mat-mdc-unelevated-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n\n.mat-mdc-raised-button {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n box-shadow: var(--mat-button-protected-container-elevation-shadow, var(--mat-sys-level1));\n height: var(--mat-button-protected-container-height, 40px);\n font-family: var(--mat-button-protected-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-protected-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-protected-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-protected-label-text-transform);\n font-weight: var(--mat-button-protected-label-text-weight, var(--mat-sys-label-large-weight));\n padding: 0 var(--mat-button-protected-horizontal-padding, 24px);\n}\n.mat-mdc-raised-button > .mat-icon {\n margin-right: var(--mat-button-protected-icon-spacing, 8px);\n margin-left: var(--mat-button-protected-icon-offset, -8px);\n}\n[dir=rtl] .mat-mdc-raised-button > .mat-icon {\n margin-right: var(--mat-button-protected-icon-offset, -8px);\n margin-left: var(--mat-button-protected-icon-spacing, 8px);\n}\n.mat-mdc-raised-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-protected-icon-offset, -8px);\n margin-left: var(--mat-button-protected-icon-spacing, 8px);\n}\n[dir=rtl] .mat-mdc-raised-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-protected-icon-spacing, 8px);\n margin-left: var(--mat-button-protected-icon-offset, -8px);\n}\n.mat-mdc-raised-button .mat-ripple-element {\n background-color: var(--mat-button-protected-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-protected-state-layer-color, var(--mat-sys-primary));\n}\n.mat-mdc-raised-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-protected-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-raised-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-protected-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-raised-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-raised-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-raised-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-protected-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-raised-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-protected-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-raised-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-protected-touch-target-size, 48px);\n display: var(--mat-button-protected-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n.mat-mdc-raised-button:not(:disabled) {\n color: var(--mat-button-protected-label-text-color, var(--mat-sys-primary));\n background-color: var(--mat-button-protected-container-color, var(--mat-sys-surface));\n}\n.mat-mdc-raised-button, .mat-mdc-raised-button .mdc-button__ripple {\n border-radius: var(--mat-button-protected-container-shape, var(--mat-sys-corner-full));\n}\n@media (hover: hover) {\n .mat-mdc-raised-button:hover {\n box-shadow: var(--mat-button-protected-hover-container-elevation-shadow, var(--mat-sys-level2));\n }\n}\n.mat-mdc-raised-button:focus {\n box-shadow: var(--mat-button-protected-focus-container-elevation-shadow, var(--mat-sys-level1));\n}\n.mat-mdc-raised-button:active, .mat-mdc-raised-button:focus:active {\n box-shadow: var(--mat-button-protected-pressed-container-elevation-shadow, var(--mat-sys-level1));\n}\n.mat-mdc-raised-button[disabled], .mat-mdc-raised-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-protected-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n background-color: var(--mat-button-protected-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mat-mdc-raised-button[disabled].mat-mdc-button-disabled, .mat-mdc-raised-button.mat-mdc-button-disabled.mat-mdc-button-disabled {\n box-shadow: var(--mat-button-protected-disabled-container-elevation-shadow, var(--mat-sys-level0));\n}\n.mat-mdc-raised-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n\n.mat-mdc-outlined-button {\n border-style: solid;\n transition: border 280ms cubic-bezier(0.4, 0, 0.2, 1);\n height: var(--mat-button-outlined-container-height, 40px);\n font-family: var(--mat-button-outlined-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-outlined-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-outlined-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-outlined-label-text-transform);\n font-weight: var(--mat-button-outlined-label-text-weight, var(--mat-sys-label-large-weight));\n border-radius: var(--mat-button-outlined-container-shape, var(--mat-sys-corner-full));\n border-width: var(--mat-button-outlined-outline-width, 1px);\n padding: 0 var(--mat-button-outlined-horizontal-padding, 24px);\n}\n.mat-mdc-outlined-button > .mat-icon {\n margin-right: var(--mat-button-outlined-icon-spacing, 8px);\n margin-left: var(--mat-button-outlined-icon-offset, -8px);\n}\n[dir=rtl] .mat-mdc-outlined-button > .mat-icon {\n margin-right: var(--mat-button-outlined-icon-offset, -8px);\n margin-left: var(--mat-button-outlined-icon-spacing, 8px);\n}\n.mat-mdc-outlined-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-outlined-icon-offset, -8px);\n margin-left: var(--mat-button-outlined-icon-spacing, 8px);\n}\n[dir=rtl] .mat-mdc-outlined-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-outlined-icon-spacing, 8px);\n margin-left: var(--mat-button-outlined-icon-offset, -8px);\n}\n.mat-mdc-outlined-button .mat-ripple-element {\n background-color: var(--mat-button-outlined-ripple-color, color-mix(in srgb, var(--mat-sys-primary) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-outlined-state-layer-color, var(--mat-sys-primary));\n}\n.mat-mdc-outlined-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-button-outlined-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-outlined-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-outlined-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-outlined-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-outlined-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-outlined-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-outlined-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-outlined-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-button-outlined-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-outlined-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-button-outlined-touch-target-size, 48px);\n display: var(--mat-button-outlined-touch-target-display, block);\n left: 0;\n right: 0;\n transform: translateY(-50%);\n}\n.mat-mdc-outlined-button:not(:disabled) {\n color: var(--mat-button-outlined-label-text-color, var(--mat-sys-primary));\n border-color: var(--mat-button-outlined-outline-color, var(--mat-sys-outline));\n}\n.mat-mdc-outlined-button[disabled], .mat-mdc-outlined-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-outlined-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n border-color: var(--mat-button-outlined-disabled-outline-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mat-mdc-outlined-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n\n.mat-tonal-button {\n transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);\n height: var(--mat-button-tonal-container-height, 40px);\n font-family: var(--mat-button-tonal-label-text-font, var(--mat-sys-label-large-font));\n font-size: var(--mat-button-tonal-label-text-size, var(--mat-sys-label-large-size));\n letter-spacing: var(--mat-button-tonal-label-text-tracking, var(--mat-sys-label-large-tracking));\n text-transform: var(--mat-button-tonal-label-text-transform);\n font-weight: var(--mat-button-tonal-label-text-weight, var(--mat-sys-label-large-weight));\n padding: 0 var(--mat-button-tonal-horizontal-padding, 24px);\n}\n.mat-tonal-button:not(:disabled) {\n color: var(--mat-button-tonal-label-text-color, var(--mat-sys-on-secondary-container));\n background-color: var(--mat-button-tonal-container-color, var(--mat-sys-secondary-container));\n}\n.mat-tonal-button, .mat-tonal-button .mdc-button__ripple {\n border-radius: var(--mat-button-tonal-container-shape, var(--mat-sys-corner-full));\n}\n.mat-tonal-button[disabled], .mat-tonal-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-button-tonal-disabled-label-text-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n background-color: var(--mat-button-tonal-disabled-container-color, color-mix(in srgb, var(--mat-sys-on-surface) 12%, transparent));\n}\n.mat-tonal-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n.mat-tonal-button > .mat-icon {\n margin-right: var(--mat-button-tonal-icon-spacing, 8px);\n margin-left: var(--mat-button-tonal-icon-offset, -8px);\n}\n[dir=rtl] .mat-tonal-button > .mat-icon {\n margin-right: var(--mat-button-tonal-icon-offset, -8px);\n margin-left: var(--mat-button-tonal-icon-spacing, 8px);\n}\n.mat-tonal-button .mdc-button__label + .mat-icon {\n margin-right: var(--mat-button-tonal-icon-offset, -8px);\n margin-left: var(--mat-button-tonal-icon-spacing, 8px);\n}\n[dir=rtl] .mat-tonal-button .mdc-button__label + .mat-icon {\n margin-right: var(