[6a3a178] | 1 | import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Optional, Inject, ViewChild, Input, NgModule } from '@angular/core';
|
---|
| 2 | import { mixinColor, mixinDisabled, mixinDisableRipple, MatRipple, MatRippleModule, MatCommonModule } from '@angular/material/core';
|
---|
| 3 | import { FocusMonitor } from '@angular/cdk/a11y';
|
---|
| 4 | import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
|
---|
| 5 |
|
---|
| 6 | /**
|
---|
| 7 | * @license
|
---|
| 8 | * Copyright Google LLC All Rights Reserved.
|
---|
| 9 | *
|
---|
| 10 | * Use of this source code is governed by an MIT-style license that can be
|
---|
| 11 | * found in the LICENSE file at https://angular.io/license
|
---|
| 12 | */
|
---|
| 13 | /** Default color palette for round buttons (mat-fab and mat-mini-fab) */
|
---|
| 14 | import * as ɵngcc0 from '@angular/core';
|
---|
| 15 | import * as ɵngcc1 from '@angular/cdk/a11y';
|
---|
| 16 | import * as ɵngcc2 from '@angular/material/core';
|
---|
| 17 |
|
---|
| 18 | const _c0 = ["mat-button", ""];
|
---|
| 19 | const _c1 = ["*"];
|
---|
| 20 | const _c2 = ".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n";
|
---|
| 21 | const DEFAULT_ROUND_BUTTON_COLOR = 'accent';
|
---|
| 22 | /**
|
---|
| 23 | * List of classes to add to MatButton instances based on host attributes to
|
---|
| 24 | * style as different variants.
|
---|
| 25 | */
|
---|
| 26 | const BUTTON_HOST_ATTRIBUTES = [
|
---|
| 27 | 'mat-button',
|
---|
| 28 | 'mat-flat-button',
|
---|
| 29 | 'mat-icon-button',
|
---|
| 30 | 'mat-raised-button',
|
---|
| 31 | 'mat-stroked-button',
|
---|
| 32 | 'mat-mini-fab',
|
---|
| 33 | 'mat-fab',
|
---|
| 34 | ];
|
---|
| 35 | // Boilerplate for applying mixins to MatButton.
|
---|
| 36 | const _MatButtonBase = mixinColor(mixinDisabled(mixinDisableRipple(class {
|
---|
| 37 | constructor(_elementRef) {
|
---|
| 38 | this._elementRef = _elementRef;
|
---|
| 39 | }
|
---|
| 40 | })));
|
---|
| 41 | /**
|
---|
| 42 | * Material design button.
|
---|
| 43 | */
|
---|
| 44 | class MatButton extends _MatButtonBase {
|
---|
| 45 | constructor(elementRef, _focusMonitor, _animationMode) {
|
---|
| 46 | super(elementRef);
|
---|
| 47 | this._focusMonitor = _focusMonitor;
|
---|
| 48 | this._animationMode = _animationMode;
|
---|
| 49 | /** Whether the button is round. */
|
---|
| 50 | this.isRoundButton = this._hasHostAttributes('mat-fab', 'mat-mini-fab');
|
---|
| 51 | /** Whether the button is icon button. */
|
---|
| 52 | this.isIconButton = this._hasHostAttributes('mat-icon-button');
|
---|
| 53 | // For each of the variant selectors that is present in the button's host
|
---|
| 54 | // attributes, add the correct corresponding class.
|
---|
| 55 | for (const attr of BUTTON_HOST_ATTRIBUTES) {
|
---|
| 56 | if (this._hasHostAttributes(attr)) {
|
---|
| 57 | this._getHostElement().classList.add(attr);
|
---|
| 58 | }
|
---|
| 59 | }
|
---|
| 60 | // Add a class that applies to all buttons. This makes it easier to target if somebody
|
---|
| 61 | // wants to target all Material buttons. We do it here rather than `host` to ensure that
|
---|
| 62 | // the class is applied to derived classes.
|
---|
| 63 | elementRef.nativeElement.classList.add('mat-button-base');
|
---|
| 64 | if (this.isRoundButton) {
|
---|
| 65 | this.color = DEFAULT_ROUND_BUTTON_COLOR;
|
---|
| 66 | }
|
---|
| 67 | }
|
---|
| 68 | ngAfterViewInit() {
|
---|
| 69 | this._focusMonitor.monitor(this._elementRef, true);
|
---|
| 70 | }
|
---|
| 71 | ngOnDestroy() {
|
---|
| 72 | this._focusMonitor.stopMonitoring(this._elementRef);
|
---|
| 73 | }
|
---|
| 74 | /** Focuses the button. */
|
---|
| 75 | focus(origin, options) {
|
---|
| 76 | if (origin) {
|
---|
| 77 | this._focusMonitor.focusVia(this._getHostElement(), origin, options);
|
---|
| 78 | }
|
---|
| 79 | else {
|
---|
| 80 | this._getHostElement().focus(options);
|
---|
| 81 | }
|
---|
| 82 | }
|
---|
| 83 | _getHostElement() {
|
---|
| 84 | return this._elementRef.nativeElement;
|
---|
| 85 | }
|
---|
| 86 | _isRippleDisabled() {
|
---|
| 87 | return this.disableRipple || this.disabled;
|
---|
| 88 | }
|
---|
| 89 | /** Gets whether the button has one of the given attributes. */
|
---|
| 90 | _hasHostAttributes(...attributes) {
|
---|
| 91 | return attributes.some(attribute => this._getHostElement().hasAttribute(attribute));
|
---|
| 92 | }
|
---|
| 93 | }
|
---|
| 94 | MatButton.ɵfac = function MatButton_Factory(t) { return new (t || MatButton)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };
|
---|
| 95 | MatButton.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatButton, selectors: [["button", "mat-button", ""], ["button", "mat-raised-button", ""], ["button", "mat-icon-button", ""], ["button", "mat-fab", ""], ["button", "mat-mini-fab", ""], ["button", "mat-stroked-button", ""], ["button", "mat-flat-button", ""]], viewQuery: function MatButton_Query(rf, ctx) { if (rf & 1) {
|
---|
| 96 | ɵngcc0.ɵɵviewQuery(MatRipple, 5);
|
---|
| 97 | } if (rf & 2) {
|
---|
| 98 | let _t;
|
---|
| 99 | ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.ripple = _t.first);
|
---|
| 100 | } }, hostAttrs: [1, "mat-focus-indicator"], hostVars: 5, hostBindings: function MatButton_HostBindings(rf, ctx) { if (rf & 2) {
|
---|
| 101 | ɵngcc0.ɵɵattribute("disabled", ctx.disabled || null);
|
---|
| 102 | ɵngcc0.ɵɵclassProp("_mat-animation-noopable", ctx._animationMode === "NoopAnimations")("mat-button-disabled", ctx.disabled);
|
---|
| 103 | } }, inputs: { disabled: "disabled", disableRipple: "disableRipple", color: "color" }, exportAs: ["matButton"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], attrs: _c0, ngContentSelectors: _c1, decls: 4, vars: 5, consts: [[1, "mat-button-wrapper"], ["matRipple", "", 1, "mat-button-ripple", 3, "matRippleDisabled", "matRippleCentered", "matRippleTrigger"], [1, "mat-button-focus-overlay"]], template: function MatButton_Template(rf, ctx) { if (rf & 1) {
|
---|
| 104 | ɵngcc0.ɵɵprojectionDef();
|
---|
| 105 | ɵngcc0.ɵɵelementStart(0, "span", 0);
|
---|
| 106 | ɵngcc0.ɵɵprojection(1);
|
---|
| 107 | ɵngcc0.ɵɵelementEnd();
|
---|
| 108 | ɵngcc0.ɵɵelement(2, "span", 1);
|
---|
| 109 | ɵngcc0.ɵɵelement(3, "span", 2);
|
---|
| 110 | } if (rf & 2) {
|
---|
| 111 | ɵngcc0.ɵɵadvance(2);
|
---|
| 112 | ɵngcc0.ɵɵclassProp("mat-button-ripple-round", ctx.isRoundButton || ctx.isIconButton);
|
---|
| 113 | ɵngcc0.ɵɵproperty("matRippleDisabled", ctx._isRippleDisabled())("matRippleCentered", ctx.isIconButton)("matRippleTrigger", ctx._getHostElement());
|
---|
| 114 | } }, directives: [ɵngcc2.MatRipple], styles: [_c2], encapsulation: 2, changeDetection: 0 });
|
---|
| 115 | MatButton.ctorParameters = () => [
|
---|
| 116 | { type: ElementRef },
|
---|
| 117 | { type: FocusMonitor },
|
---|
| 118 | { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
---|
| 119 | ];
|
---|
| 120 | MatButton.propDecorators = {
|
---|
| 121 | ripple: [{ type: ViewChild, args: [MatRipple,] }]
|
---|
| 122 | };
|
---|
| 123 | (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatButton, [{
|
---|
| 124 | type: Component,
|
---|
| 125 | args: [{
|
---|
| 126 | selector: `button[mat-button], button[mat-raised-button], button[mat-icon-button],
|
---|
| 127 | button[mat-fab], button[mat-mini-fab], button[mat-stroked-button],
|
---|
| 128 | button[mat-flat-button]`,
|
---|
| 129 | exportAs: 'matButton',
|
---|
| 130 | host: {
|
---|
| 131 | '[attr.disabled]': 'disabled || null',
|
---|
| 132 | '[class._mat-animation-noopable]': '_animationMode === "NoopAnimations"',
|
---|
| 133 | // Add a class for disabled button styling instead of the using attribute
|
---|
| 134 | // selector or pseudo-selector. This allows users to create focusabled
|
---|
| 135 | // disabled buttons without recreating the styles.
|
---|
| 136 | '[class.mat-button-disabled]': 'disabled',
|
---|
| 137 | 'class': 'mat-focus-indicator'
|
---|
| 138 | },
|
---|
| 139 | template: "<span class=\"mat-button-wrapper\"><ng-content></ng-content></span>\n<span matRipple class=\"mat-button-ripple\"\n [class.mat-button-ripple-round]=\"isRoundButton || isIconButton\"\n [matRippleDisabled]=\"_isRippleDisabled()\"\n [matRippleCentered]=\"isIconButton\"\n [matRippleTrigger]=\"_getHostElement()\"></span>\n<span class=\"mat-button-focus-overlay\"></span>\n",
|
---|
| 140 | inputs: ['disabled', 'disableRipple', 'color'],
|
---|
| 141 | encapsulation: ViewEncapsulation.None,
|
---|
| 142 | changeDetection: ChangeDetectionStrategy.OnPush,
|
---|
| 143 | styles: [".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"]
|
---|
| 144 | }]
|
---|
| 145 | }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.FocusMonitor }, { type: String, decorators: [{
|
---|
| 146 | type: Optional
|
---|
| 147 | }, {
|
---|
| 148 | type: Inject,
|
---|
| 149 | args: [ANIMATION_MODULE_TYPE]
|
---|
| 150 | }] }]; }, { ripple: [{
|
---|
| 151 | type: ViewChild,
|
---|
| 152 | args: [MatRipple]
|
---|
| 153 | }] }); })();
|
---|
| 154 | /**
|
---|
| 155 | * Material design anchor button.
|
---|
| 156 | */
|
---|
| 157 | class MatAnchor extends MatButton {
|
---|
| 158 | constructor(focusMonitor, elementRef, animationMode) {
|
---|
| 159 | super(elementRef, focusMonitor, animationMode);
|
---|
| 160 | }
|
---|
| 161 | _haltDisabledEvents(event) {
|
---|
| 162 | // A disabled button shouldn't apply any actions
|
---|
| 163 | if (this.disabled) {
|
---|
| 164 | event.preventDefault();
|
---|
| 165 | event.stopImmediatePropagation();
|
---|
| 166 | }
|
---|
| 167 | }
|
---|
| 168 | }
|
---|
| 169 | MatAnchor.ɵfac = function MatAnchor_Factory(t) { return new (t || MatAnchor)(ɵngcc0.ɵɵdirectiveInject(ɵngcc1.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };
|
---|
| 170 | MatAnchor.ɵcmp = /*@__PURE__*/ ɵngcc0.ɵɵdefineComponent({ type: MatAnchor, selectors: [["a", "mat-button", ""], ["a", "mat-raised-button", ""], ["a", "mat-icon-button", ""], ["a", "mat-fab", ""], ["a", "mat-mini-fab", ""], ["a", "mat-stroked-button", ""], ["a", "mat-flat-button", ""]], hostAttrs: [1, "mat-focus-indicator"], hostVars: 7, hostBindings: function MatAnchor_HostBindings(rf, ctx) { if (rf & 1) {
|
---|
| 171 | ɵngcc0.ɵɵlistener("click", function MatAnchor_click_HostBindingHandler($event) { return ctx._haltDisabledEvents($event); });
|
---|
| 172 | } if (rf & 2) {
|
---|
| 173 | ɵngcc0.ɵɵattribute("tabindex", ctx.disabled ? -1 : ctx.tabIndex || 0)("disabled", ctx.disabled || null)("aria-disabled", ctx.disabled.toString());
|
---|
| 174 | ɵngcc0.ɵɵclassProp("_mat-animation-noopable", ctx._animationMode === "NoopAnimations")("mat-button-disabled", ctx.disabled);
|
---|
| 175 | } }, inputs: { disabled: "disabled", disableRipple: "disableRipple", color: "color", tabIndex: "tabIndex" }, exportAs: ["matButton", "matAnchor"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], attrs: _c0, ngContentSelectors: _c1, decls: 4, vars: 5, consts: [[1, "mat-button-wrapper"], ["matRipple", "", 1, "mat-button-ripple", 3, "matRippleDisabled", "matRippleCentered", "matRippleTrigger"], [1, "mat-button-focus-overlay"]], template: function MatAnchor_Template(rf, ctx) { if (rf & 1) {
|
---|
| 176 | ɵngcc0.ɵɵprojectionDef();
|
---|
| 177 | ɵngcc0.ɵɵelementStart(0, "span", 0);
|
---|
| 178 | ɵngcc0.ɵɵprojection(1);
|
---|
| 179 | ɵngcc0.ɵɵelementEnd();
|
---|
| 180 | ɵngcc0.ɵɵelement(2, "span", 1);
|
---|
| 181 | ɵngcc0.ɵɵelement(3, "span", 2);
|
---|
| 182 | } if (rf & 2) {
|
---|
| 183 | ɵngcc0.ɵɵadvance(2);
|
---|
| 184 | ɵngcc0.ɵɵclassProp("mat-button-ripple-round", ctx.isRoundButton || ctx.isIconButton);
|
---|
| 185 | ɵngcc0.ɵɵproperty("matRippleDisabled", ctx._isRippleDisabled())("matRippleCentered", ctx.isIconButton)("matRippleTrigger", ctx._getHostElement());
|
---|
| 186 | } }, directives: [ɵngcc2.MatRipple], styles: [_c2], encapsulation: 2, changeDetection: 0 });
|
---|
| 187 | MatAnchor.ctorParameters = () => [
|
---|
| 188 | { type: FocusMonitor },
|
---|
| 189 | { type: ElementRef },
|
---|
| 190 | { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }
|
---|
| 191 | ];
|
---|
| 192 | MatAnchor.propDecorators = {
|
---|
| 193 | tabIndex: [{ type: Input }]
|
---|
| 194 | };
|
---|
| 195 | (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatAnchor, [{
|
---|
| 196 | type: Component,
|
---|
| 197 | args: [{
|
---|
| 198 | selector: `a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab],
|
---|
| 199 | a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]`,
|
---|
| 200 | exportAs: 'matButton, matAnchor',
|
---|
| 201 | host: {
|
---|
| 202 | // Note that we ignore the user-specified tabindex when it's disabled for
|
---|
| 203 | // consistency with the `mat-button` applied on native buttons where even
|
---|
| 204 | // though they have an index, they're not tabbable.
|
---|
| 205 | '[attr.tabindex]': 'disabled ? -1 : (tabIndex || 0)',
|
---|
| 206 | '[attr.disabled]': 'disabled || null',
|
---|
| 207 | '[attr.aria-disabled]': 'disabled.toString()',
|
---|
| 208 | '(click)': '_haltDisabledEvents($event)',
|
---|
| 209 | '[class._mat-animation-noopable]': '_animationMode === "NoopAnimations"',
|
---|
| 210 | '[class.mat-button-disabled]': 'disabled',
|
---|
| 211 | 'class': 'mat-focus-indicator'
|
---|
| 212 | },
|
---|
| 213 | inputs: ['disabled', 'disableRipple', 'color'],
|
---|
| 214 | template: "<span class=\"mat-button-wrapper\"><ng-content></ng-content></span>\n<span matRipple class=\"mat-button-ripple\"\n [class.mat-button-ripple-round]=\"isRoundButton || isIconButton\"\n [matRippleDisabled]=\"_isRippleDisabled()\"\n [matRippleCentered]=\"isIconButton\"\n [matRippleTrigger]=\"_getHostElement()\"></span>\n<span class=\"mat-button-focus-overlay\"></span>\n",
|
---|
| 215 | encapsulation: ViewEncapsulation.None,
|
---|
| 216 | changeDetection: ChangeDetectionStrategy.OnPush,
|
---|
| 217 | styles: [".mat-button .mat-button-focus-overlay,.mat-icon-button .mat-button-focus-overlay{opacity:0}.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:.04}@media(hover: none){.mat-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay,.mat-stroked-button:hover:not(.mat-button-disabled) .mat-button-focus-overlay{opacity:0}}.mat-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-button.mat-button-disabled,.mat-icon-button.mat-button-disabled,.mat-stroked-button.mat-button-disabled,.mat-flat-button.mat-button-disabled{cursor:default}.mat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-button.cdk-program-focused .mat-button-focus-overlay,.mat-icon-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-icon-button.cdk-program-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-stroked-button.cdk-program-focused .mat-button-focus-overlay,.mat-flat-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-flat-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-button::-moz-focus-inner,.mat-icon-button::-moz-focus-inner,.mat-stroked-button::-moz-focus-inner,.mat-flat-button::-moz-focus-inner{border:0}.mat-raised-button{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-raised-button::-moz-focus-inner{border:0}.mat-raised-button.mat-button-disabled{cursor:default}.mat-raised-button.cdk-keyboard-focused .mat-button-focus-overlay,.mat-raised-button.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-raised-button::-moz-focus-inner{border:0}._mat-animation-noopable.mat-raised-button{transition:none;animation:none}.mat-stroked-button{border:1px solid currentColor;padding:0 15px;line-height:34px}.mat-stroked-button .mat-button-ripple.mat-ripple,.mat-stroked-button .mat-button-focus-overlay{top:-1px;left:-1px;right:-1px;bottom:-1px}.mat-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:56px;height:56px;padding:0;flex-shrink:0}.mat-fab::-moz-focus-inner{border:0}.mat-fab.mat-button-disabled{cursor:default}.mat-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-fab{transition:none;animation:none}.mat-fab .mat-button-wrapper{padding:16px 0;display:inline-block;line-height:24px}.mat-mini-fab{box-sizing:border-box;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;display:inline-block;white-space:nowrap;text-decoration:none;vertical-align:baseline;text-align:center;margin:0;min-width:64px;line-height:36px;padding:0 16px;border-radius:4px;overflow:visible;transform:translate3d(0, 0, 0);transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);min-width:0;border-radius:50%;width:40px;height:40px;padding:0;flex-shrink:0}.mat-mini-fab::-moz-focus-inner{border:0}.mat-mini-fab.mat-button-disabled{cursor:default}.mat-mini-fab.cdk-keyboard-focused .mat-button-focus-overlay,.mat-mini-fab.cdk-program-focused .mat-button-focus-overlay{opacity:.12}.mat-mini-fab::-moz-focus-inner{border:0}._mat-animation-noopable.mat-mini-fab{transition:none;animation:none}.mat-mini-fab .mat-button-wrapper{padding:8px 0;display:inline-block;line-height:24px}.mat-icon-button{padding:0;min-width:0;width:40px;height:40px;flex-shrink:0;line-height:40px;border-radius:50%}.mat-icon-button i,.mat-icon-button .mat-icon{line-height:24px}.mat-button-ripple.mat-ripple,.mat-button-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-button-ripple.mat-ripple:not(:empty){transform:translateZ(0)}.mat-button-focus-overlay{opacity:0;transition:opacity 200ms cubic-bezier(0.35, 0, 0.25, 1),background-color 200ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-button-focus-overlay{transition:none}.mat-button-ripple-round{border-radius:50%;z-index:1}.mat-button .mat-button-wrapper>*,.mat-flat-button .mat-button-wrapper>*,.mat-stroked-button .mat-button-wrapper>*,.mat-raised-button .mat-button-wrapper>*,.mat-icon-button .mat-button-wrapper>*,.mat-fab .mat-button-wrapper>*,.mat-mini-fab .mat-button-wrapper>*{vertical-align:middle}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button{display:inline-flex;justify-content:center;align-items:center;font-size:inherit;width:2.5em;height:2.5em}.cdk-high-contrast-active .mat-button,.cdk-high-contrast-active .mat-flat-button,.cdk-high-contrast-active .mat-raised-button,.cdk-high-contrast-active .mat-icon-button,.cdk-high-contrast-active .mat-fab,.cdk-high-contrast-active .mat-mini-fab{outline:solid 1px}.cdk-high-contrast-active .mat-button-base.cdk-keyboard-focused,.cdk-high-contrast-active .mat-button-base.cdk-program-focused{outline:solid 3px}\n"]
|
---|
| 218 | }]
|
---|
| 219 | }], function () { return [{ type: ɵngcc1.FocusMonitor }, { type: ɵngcc0.ElementRef }, { type: String, decorators: [{
|
---|
| 220 | type: Optional
|
---|
| 221 | }, {
|
---|
| 222 | type: Inject,
|
---|
| 223 | args: [ANIMATION_MODULE_TYPE]
|
---|
| 224 | }] }]; }, { tabIndex: [{
|
---|
| 225 | type: Input
|
---|
| 226 | }] }); })();
|
---|
| 227 |
|
---|
| 228 | /**
|
---|
| 229 | * @license
|
---|
| 230 | * Copyright Google LLC All Rights Reserved.
|
---|
| 231 | *
|
---|
| 232 | * Use of this source code is governed by an MIT-style license that can be
|
---|
| 233 | * found in the LICENSE file at https://angular.io/license
|
---|
| 234 | */
|
---|
| 235 | class MatButtonModule {
|
---|
| 236 | }
|
---|
| 237 | MatButtonModule.ɵfac = function MatButtonModule_Factory(t) { return new (t || MatButtonModule)(); };
|
---|
| 238 | MatButtonModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatButtonModule });
|
---|
| 239 | MatButtonModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ imports: [[
|
---|
| 240 | MatRippleModule,
|
---|
| 241 | MatCommonModule,
|
---|
| 242 | ], MatCommonModule] });
|
---|
| 243 | (function () { (typeof ngDevMode === "undefined" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatButtonModule, [{
|
---|
| 244 | type: NgModule,
|
---|
| 245 | args: [{
|
---|
| 246 | imports: [
|
---|
| 247 | MatRippleModule,
|
---|
| 248 | MatCommonModule,
|
---|
| 249 | ],
|
---|
| 250 | exports: [
|
---|
| 251 | MatButton,
|
---|
| 252 | MatAnchor,
|
---|
| 253 | MatCommonModule,
|
---|
| 254 | ],
|
---|
| 255 | declarations: [
|
---|
| 256 | MatButton,
|
---|
| 257 | MatAnchor,
|
---|
| 258 | ]
|
---|
| 259 | }]
|
---|
| 260 | }], null, null); })();
|
---|
| 261 | (function () { (typeof ngJitMode === "undefined" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatButtonModule, { declarations: function () { return [MatButton, MatAnchor]; }, imports: function () { return [MatRippleModule,
|
---|
| 262 | MatCommonModule]; }, exports: function () { return [MatButton, MatAnchor, MatCommonModule]; } }); })();
|
---|
| 263 |
|
---|
| 264 | /**
|
---|
| 265 | * @license
|
---|
| 266 | * Copyright Google LLC All Rights Reserved.
|
---|
| 267 | *
|
---|
| 268 | * Use of this source code is governed by an MIT-style license that can be
|
---|
| 269 | * found in the LICENSE file at https://angular.io/license
|
---|
| 270 | */
|
---|
| 271 |
|
---|
| 272 | /**
|
---|
| 273 | * Generated bundle index. Do not edit.
|
---|
| 274 | */
|
---|
| 275 |
|
---|
| 276 | export { MatAnchor, MatButton, MatButtonModule };
|
---|
| 277 |
|
---|
| 278 | //# sourceMappingURL=button.js.map |
---|