@angular/material 16.1.5 → 16.1.7
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/bottom-sheet/_bottom-sheet-theme.scss +10 -11
- package/button/index.d.ts +31 -18
- package/button-toggle/_button-toggle-theme.scss +20 -97
- package/button-toggle/_button-toggle-variables.scss +2 -0
- package/core/selection/pseudo-checkbox/_pseudo-checkbox-common.scss +1 -1
- package/core/tokens/_token-utils.scss +1 -0
- package/core/tokens/m2/mat/_bottom-sheet.scss +56 -0
- package/core/tokens/m2/mat/_divider.scss +45 -0
- package/core/tokens/m2/mat/_grid-list.scss +46 -0
- package/core/tokens/m2/mat/_legacy-button-toggle.scss +63 -0
- package/core/tokens/m2/mat/_sidenav.scss +65 -0
- package/core/tokens/m2/mat/_standard-button-toggle.scss +87 -0
- package/core/tokens/m2/mat/_toolbar.scss +79 -0
- package/core/tokens/m2/mdc/_circular-progress.scss +1 -1
- package/core/tokens/m2/mdc/_plain-tooltip.scss +2 -2
- package/divider/_divider-theme.scss +6 -8
- package/esm2022/bottom-sheet/bottom-sheet-container.mjs +3 -3
- package/esm2022/button/button-base.mjs +31 -15
- package/esm2022/button/button-lazy-loader.mjs +75 -52
- package/esm2022/button/button.mjs +3 -3
- package/esm2022/button/fab.mjs +5 -5
- package/esm2022/button/icon-button.mjs +4 -15
- package/esm2022/button-toggle/button-toggle.mjs +2 -2
- package/esm2022/chips/chip-option.mjs +2 -2
- package/esm2022/chips/chip-row.mjs +10 -7
- package/esm2022/chips/chip.mjs +2 -2
- package/esm2022/core/version.mjs +1 -1
- package/esm2022/divider/divider.mjs +2 -2
- package/esm2022/form-field/form-field.mjs +3 -3
- package/esm2022/grid-list/grid-list.mjs +2 -2
- package/esm2022/grid-list/grid-tile.mjs +2 -2
- package/esm2022/menu/menu-item.mjs +4 -4
- package/esm2022/menu/menu.mjs +3 -3
- package/esm2022/radio/radio.mjs +13 -1
- package/esm2022/sidenav/drawer.mjs +3 -3
- package/esm2022/sidenav/sidenav.mjs +3 -3
- package/esm2022/slide-toggle/slide-toggle.mjs +2 -2
- package/esm2022/tabs/ink-bar.mjs +1 -1
- package/esm2022/toolbar/toolbar.mjs +2 -2
- package/fesm2022/bottom-sheet.mjs +2 -2
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs +2 -2
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs +113 -86
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/chips.mjs +13 -10
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +1 -1
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/divider.mjs +2 -2
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/form-field.mjs +2 -2
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list.mjs +4 -4
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/menu.mjs +5 -5
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/radio.mjs +12 -0
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +4 -4
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +2 -2
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +2 -2
- package/fesm2022/toolbar.mjs.map +1 -1
- package/grid-list/_grid-list-theme.scss +7 -6
- package/legacy-prebuilt-themes/legacy-deeppurple-amber.css +1 -1
- package/legacy-prebuilt-themes/legacy-indigo-pink.css +1 -1
- package/legacy-prebuilt-themes/legacy-pink-bluegrey.css +1 -1
- package/legacy-prebuilt-themes/legacy-purple-green.css +1 -1
- package/package.json +2 -2
- package/prebuilt-themes/deeppurple-amber.css +1 -1
- package/prebuilt-themes/indigo-pink.css +1 -1
- package/prebuilt-themes/pink-bluegrey.css +1 -1
- package/prebuilt-themes/purple-green.css +1 -1
- package/radio/index.d.ts +4 -1
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/schematics/ng-generate/mdc-migration/index_bundled.js +44 -44
- package/schematics/ng-update/index_bundled.js +25 -25
- package/sidenav/_sidenav-theme.scss +6 -69
- package/tabs/index.d.ts +1 -1
- package/toolbar/_toolbar-theme.scss +25 -71
package/fesm2022/button.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.mjs","sources":["../../../../../../src/material/button/button-lazy-loader.ts","../../../../../../src/material/button/button-base.ts","../../../../../../src/material/button/button.ts","../../../../../../src/material/button/button.html","../../../../../../src/material/button/fab.ts","../../../../../../src/material/button/icon-button.ts","../../../../../../src/material/button/icon-button.html","../../../../../../src/material/button/module.ts","../../../../../../src/material/button/button_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n ANIMATION_MODULE_TYPE,\n ElementRef,\n Injectable,\n NgZone,\n OnDestroy,\n inject,\n} from '@angular/core';\nimport {\n MAT_RIPPLE_GLOBAL_OPTIONS,\n MatRipple,\n RippleConfig,\n RippleGlobalOptions,\n RippleRenderer,\n RippleTarget,\n} from '@angular/material/core';\nimport {Platform} from '@angular/cdk/platform';\n\n/** The options for the MatButtonRippleLoader's event listeners. */\nconst eventListenerOptions = {capture: true};\n\n/** The events that should trigger the initialization of the ripple. */\nconst rippleInteractionEvents = ['focus', 'click', 'mouseenter', 'touchstart'];\n\n/** The attribute attached to a mat-button whose ripple has not yet been initialized. */\nexport const MAT_BUTTON_RIPPLE_UNINITIALIZED = 'mat-button-ripple-uninitialized';\n\n/**\n * Handles attaching the MatButton's ripple on demand.\n *\n * This service allows us to avoid eagerly creating & attaching the MatButton's ripple.\n * It works by creating & attaching the ripple only when a MatButton is first interacted with.\n */\n@Injectable({providedIn: 'root'})\nexport class MatButtonLazyLoader implements OnDestroy {\n private _document = inject(DOCUMENT, {optional: true});\n private _animationMode = inject(ANIMATION_MODULE_TYPE, {optional: true});\n private _globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {optional: true});\n private _platform = inject(Platform);\n private _ngZone = inject(NgZone);\n\n constructor() {\n this._ngZone.runOutsideAngular(() => {\n for (const event of rippleInteractionEvents) {\n this._document?.addEventListener(event, this._onInteraction, eventListenerOptions);\n }\n });\n }\n\n ngOnDestroy() {\n for (const event of rippleInteractionEvents) {\n this._document?.removeEventListener(event, this._onInteraction, eventListenerOptions);\n }\n }\n\n /** Handles creating and attaching button internals when a button is initially interacted with. */\n private _onInteraction = (event: Event) => {\n if (event.target === this._document) {\n return;\n }\n const eventTarget = event.target as Element;\n\n // TODO(wagnermaciel): Consider batching these events to improve runtime performance.\n\n const button = eventTarget.closest(`[${MAT_BUTTON_RIPPLE_UNINITIALIZED}]`);\n if (button) {\n button.removeAttribute(MAT_BUTTON_RIPPLE_UNINITIALIZED);\n this._appendRipple(button as HTMLElement);\n }\n };\n\n /** Creates a MatButtonRipple and appends it to the given button element. */\n private _appendRipple(button: HTMLElement): void {\n if (!this._document) {\n return;\n }\n const ripple = this._document.createElement('span');\n ripple.classList.add('mat-mdc-button-ripple');\n\n const target = new MatButtonRippleTarget(\n button,\n this._globalRippleOptions ? this._globalRippleOptions : undefined,\n this._animationMode ? this._animationMode : undefined,\n );\n target.rippleConfig.centered = button.hasAttribute('mat-icon-button');\n\n const rippleRenderer = new RippleRenderer(target, this._ngZone, ripple, this._platform);\n rippleRenderer.setupTriggerEvents(button);\n button.append(ripple);\n }\n\n _createMatRipple(button: HTMLElement): MatRipple | undefined {\n if (!this._document) {\n return;\n }\n button.querySelector('.mat-mdc-button-ripple')?.remove();\n button.removeAttribute(MAT_BUTTON_RIPPLE_UNINITIALIZED);\n const rippleEl = this._document!.createElement('span');\n rippleEl.classList.add('mat-mdc-button-ripple');\n const ripple = new MatRipple(\n new ElementRef(rippleEl),\n this._ngZone,\n this._platform,\n this._globalRippleOptions ? this._globalRippleOptions : undefined,\n this._animationMode ? this._animationMode : undefined,\n );\n ripple._isInitialized = true;\n ripple.trigger = button;\n button.append(rippleEl);\n return ripple;\n }\n}\n\n/**\n * The RippleTarget for the lazily rendered MatButton ripple.\n * It handles ripple configuration and disabled state for ripples interactions.\n *\n * Note that this configuration is usually handled by the MatRipple, but the MatButtonLazyLoader does not use the\n * MatRipple Directive. In order to create & attach a ripple on demand, it uses the \"lower level\" RippleRenderer.\n */\nclass MatButtonRippleTarget implements RippleTarget {\n rippleConfig: RippleConfig & RippleGlobalOptions;\n\n constructor(\n private _button: HTMLElement,\n private _globalRippleOptions?: RippleGlobalOptions,\n animationMode?: string,\n ) {\n this._setRippleConfig(_globalRippleOptions, animationMode);\n }\n\n private _setRippleConfig(globalRippleOptions?: RippleGlobalOptions, animationMode?: string) {\n this.rippleConfig = globalRippleOptions || {};\n if (animationMode === 'NoopAnimations') {\n this.rippleConfig.animation = {enterDuration: 0, exitDuration: 0};\n }\n }\n\n get rippleDisabled(): boolean {\n return this._button.hasAttribute('disabled') || !!this._globalRippleOptions?.disabled;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n inject,\n NgZone,\n OnChanges,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {\n CanColor,\n CanDisable,\n CanDisableRipple,\n MatRipple,\n mixinColor,\n mixinDisabled,\n mixinDisableRipple,\n} from '@angular/material/core';\nimport {MAT_BUTTON_RIPPLE_UNINITIALIZED, MatButtonLazyLoader} from './button-lazy-loader';\n\n/** Inputs common to all buttons. */\nexport const MAT_BUTTON_INPUTS = ['disabled', 'disableRipple', 'color'];\n\n/** Shared host configuration for all buttons */\nexport const MAT_BUTTON_HOST = {\n '[attr.disabled]': 'disabled || null',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n // MDC automatically applies the primary theme color to the button, but we want to support\n // an unthemed version. If color is undefined, apply a CSS class that makes it easy to\n // select and style this \"theme\".\n '[class.mat-unthemed]': '!color',\n // Add a class that applies to all buttons. This makes it easier to target if somebody\n // wants to target all Material buttons.\n '[class.mat-mdc-button-base]': 'true',\n [MAT_BUTTON_RIPPLE_UNINITIALIZED]: '',\n};\n\n/** List of classes to add to buttons instances based on host attribute selector. */\nconst HOST_SELECTOR_MDC_CLASS_PAIR: {selector: string; mdcClasses: string[]}[] = [\n {\n selector: 'mat-button',\n mdcClasses: ['mdc-button', 'mat-mdc-button'],\n },\n {\n selector: 'mat-flat-button',\n mdcClasses: ['mdc-button', 'mdc-button--unelevated', 'mat-mdc-unelevated-button'],\n },\n {\n selector: 'mat-raised-button',\n mdcClasses: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],\n },\n {\n selector: 'mat-stroked-button',\n mdcClasses: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],\n },\n {\n selector: 'mat-fab',\n mdcClasses: ['mdc-fab', 'mat-mdc-fab'],\n },\n {\n selector: 'mat-mini-fab',\n mdcClasses: ['mdc-fab', 'mdc-fab--mini', 'mat-mdc-mini-fab'],\n },\n {\n selector: 'mat-icon-button',\n mdcClasses: ['mdc-icon-button', 'mat-mdc-icon-button'],\n },\n];\n\n// Boilerplate for applying mixins to MatButton.\n/** @docs-private */\nexport const _MatButtonMixin = mixinColor(\n mixinDisabled(\n mixinDisableRipple(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n ),\n ),\n);\n\n/** Base class for all buttons. */\n@Directive()\nexport class MatButtonBase\n extends _MatButtonMixin\n implements CanDisable, CanColor, CanDisableRipple, AfterViewInit, OnChanges, OnDestroy\n{\n private readonly _focusMonitor = inject(FocusMonitor);\n\n /**\n * Handles the lazy creation of the MatButton ripple.\n * Used to improve initial load time of large applications.\n */\n _rippleLoader: MatButtonLazyLoader = inject(MatButtonLazyLoader);\n\n /** Whether this button is a FAB. Used to apply the correct class on the ripple. */\n _isFab = false;\n\n /**\n * Reference to the MatRipple instance of the button.\n * @deprecated Considered an implementation detail. To be removed.\n * @breaking-change 17.0.0\n */\n get ripple(): MatRipple {\n if (!this._ripple && this._rippleLoader) {\n this._ripple = this._rippleLoader._createMatRipple(this._elementRef.nativeElement);\n }\n return this._ripple!;\n }\n set ripple(v: MatRipple) {\n this._ripple = v;\n }\n\n /** @docs-private Reference to the MatRipple instance of the button. */\n protected _ripple?: MatRipple;\n\n constructor(\n elementRef: ElementRef,\n public _platform: Platform,\n public _ngZone: NgZone,\n public _animationMode?: string,\n ) {\n super(elementRef);\n\n const classList = (elementRef.nativeElement as HTMLElement).classList;\n\n // For each of the variant selectors that is present in the button's host\n // attributes, add the correct corresponding MDC classes.\n for (const pair of HOST_SELECTOR_MDC_CLASS_PAIR) {\n if (this._hasHostAttributes(pair.selector)) {\n pair.mdcClasses.forEach((className: string) => {\n classList.add(className);\n });\n }\n }\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnChanges() {\n if (this._ripple) {\n this._ripple.disabled = this.disableRipple || this.disabled;\n }\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the button. */\n focus(_origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (_origin) {\n this._focusMonitor.focusVia(this._elementRef.nativeElement, _origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n /** Gets whether the button has one of the given attributes. */\n private _hasHostAttributes(...attributes: string[]) {\n return attributes.some(attribute => this._elementRef.nativeElement.hasAttribute(attribute));\n }\n}\n\n/** Shared inputs by buttons using the `<a>` tag */\nexport const MAT_ANCHOR_INPUTS = ['disabled', 'disableRipple', 'color', 'tabIndex'];\n\n/** Shared host configuration for buttons using the `<a>` tag. */\nexport const MAT_ANCHOR_HOST = {\n '[attr.disabled]': 'disabled || null',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n\n // Note that we ignore the user-specified tabindex when it's disabled for\n // consistency with the `mat-button` applied on native buttons where even\n // though they have an index, they're not tabbable.\n '[attr.tabindex]': 'disabled ? -1 : tabIndex',\n '[attr.aria-disabled]': 'disabled.toString()',\n // MDC automatically applies the primary theme color to the button, but we want to support\n // an unthemed version. If color is undefined, apply a CSS class that makes it easy to\n // select and style this \"theme\".\n '[class.mat-unthemed]': '!color',\n // Add a class that applies to all buttons. This makes it easier to target if somebody\n // wants to target all Material buttons.\n '[class.mat-mdc-button-base]': 'true',\n [MAT_BUTTON_RIPPLE_UNINITIALIZED]: '',\n};\n\n/**\n * Anchor button base.\n */\n@Directive()\nexport class MatAnchorBase extends MatButtonBase implements OnInit, OnDestroy {\n tabIndex: number;\n\n constructor(elementRef: ElementRef, platform: Platform, ngZone: NgZone, animationMode?: string) {\n super(elementRef, platform, ngZone, animationMode);\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => {\n this._elementRef.nativeElement.addEventListener('click', this._haltDisabledEvents);\n });\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._elementRef.nativeElement.removeEventListener('click', this._haltDisabledEvents);\n }\n\n _haltDisabledEvents = (event: Event): void => {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\nimport {\n MAT_ANCHOR_HOST,\n MAT_ANCHOR_INPUTS,\n MAT_BUTTON_HOST,\n MAT_BUTTON_INPUTS,\n MatAnchorBase,\n MatButtonBase,\n} from './button-base';\n\n/**\n * Material Design button component. Users interact with a button to perform an action.\n * See https://material.io/components/buttons\n *\n * The `MatButton` class applies to native button elements and captures the appearances for\n * \"text button\", \"outlined button\", and \"contained button\" per the Material Design\n * specification. `MatButton` additionally captures an additional \"flat\" appearance, which matches\n * \"contained\" but without elevation.\n */\n@Component({\n selector: `\n button[mat-button], button[mat-raised-button], button[mat-flat-button],\n button[mat-stroked-button]\n `,\n templateUrl: 'button.html',\n styleUrls: ['button.css', 'button-high-contrast.css'],\n inputs: MAT_BUTTON_INPUTS,\n host: MAT_BUTTON_HOST,\n exportAs: 'matButton',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatButton extends MatButtonBase {\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n }\n}\n\n/**\n * Material Design button component for anchor elements. Anchor elements are used to provide\n * links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons\n *\n * The `MatAnchor` class applies to native anchor elements and captures the appearances for\n * \"text button\", \"outlined button\", and \"contained button\" per the Material Design\n * specification. `MatAnchor` additionally captures an additional \"flat\" appearance, which matches\n * \"contained\" but without elevation.\n */\n@Component({\n selector: `a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]`,\n exportAs: 'matButton, matAnchor',\n host: MAT_ANCHOR_HOST,\n inputs: MAT_ANCHOR_INPUTS,\n templateUrl: 'button.html',\n styleUrls: ['button.css', 'button-high-contrast.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatAnchor extends MatAnchorBase {\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n }\n}\n","<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-mdc-focus-indicator\"></span>\n\n<span class=\"mat-mdc-button-touch-target\"></span>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n InjectionToken,\n NgZone,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\nimport {MatAnchor} from './button';\nimport {\n MAT_ANCHOR_HOST,\n MAT_ANCHOR_INPUTS,\n MAT_BUTTON_HOST,\n MAT_BUTTON_INPUTS,\n MatButtonBase,\n} from './button-base';\nimport {ThemePalette} from '@angular/material/core';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Default FAB options that can be overridden. */\nexport interface MatFabDefaultOptions {\n color?: ThemePalette;\n}\n\n/** Injection token to be used to override the default options for FAB. */\nexport const MAT_FAB_DEFAULT_OPTIONS = new InjectionToken<MatFabDefaultOptions>(\n 'mat-mdc-fab-default-options',\n {\n providedIn: 'root',\n factory: MAT_FAB_DEFAULT_OPTIONS_FACTORY,\n },\n);\n\n/** @docs-private */\nexport function MAT_FAB_DEFAULT_OPTIONS_FACTORY(): MatFabDefaultOptions {\n return {\n // The FAB by default has its color set to accent.\n color: 'accent',\n };\n}\n\n// Default FAB configuration.\nconst defaults = MAT_FAB_DEFAULT_OPTIONS_FACTORY();\n\nlet buttonInputs = [...MAT_ANCHOR_INPUTS, 'extended'];\n\n/**\n * Material Design floating action button (FAB) component. These buttons represent the primary\n * or most common action for users to interact with.\n * See https://material.io/components/buttons-floating-action-button/\n *\n * The `MatFabButton` class has two appearances: normal and extended.\n */\n@Component({\n selector: `button[mat-fab]`,\n templateUrl: 'button.html',\n styleUrls: ['fab.css'],\n inputs: buttonInputs,\n host: {\n ...MAT_BUTTON_HOST,\n '[class.mdc-fab--extended]': 'extended',\n '[class.mat-mdc-extended-fab]': 'extended',\n },\n exportAs: 'matButton',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatFabButton extends MatButtonBase {\n override _isFab = true;\n\n get extended(): boolean {\n return this._extended;\n }\n set extended(value: BooleanInput) {\n this._extended = coerceBooleanProperty(value);\n }\n private _extended: boolean;\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional() @Inject(MAT_FAB_DEFAULT_OPTIONS) private _options?: MatFabDefaultOptions,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options!.color || defaults.color;\n }\n}\n\n/**\n * Material Design mini floating action button (FAB) component. These buttons represent the primary\n * or most common action for users to interact with.\n * See https://material.io/components/buttons-floating-action-button/\n */\n@Component({\n selector: `button[mat-mini-fab]`,\n templateUrl: 'button.html',\n styleUrls: ['fab.css'],\n inputs: MAT_BUTTON_INPUTS,\n host: MAT_BUTTON_HOST,\n exportAs: 'matButton',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatMiniFabButton extends MatButtonBase {\n override _isFab = true;\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional() @Inject(MAT_FAB_DEFAULT_OPTIONS) private _options?: MatFabDefaultOptions,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options!.color || defaults.color;\n }\n}\n\n/**\n * Material Design floating action button (FAB) component for anchor elements. Anchor elements\n * are used to provide links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons-floating-action-button/\n *\n * The `MatFabAnchor` class has two appearances: normal and extended.\n */\n@Component({\n selector: `a[mat-fab]`,\n templateUrl: 'button.html',\n styleUrls: ['fab.css'],\n inputs: buttonInputs,\n host: {\n ...MAT_ANCHOR_HOST,\n '[class.mdc-fab--extended]': 'extended',\n '[class.mat-mdc-extended-fab]': 'extended',\n },\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatFabAnchor extends MatAnchor {\n override _isFab = true;\n\n get extended(): boolean {\n return this._extended;\n }\n set extended(value: BooleanInput) {\n this._extended = coerceBooleanProperty(value);\n }\n private _extended: boolean;\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional() @Inject(MAT_FAB_DEFAULT_OPTIONS) private _options?: MatFabDefaultOptions,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options!.color || defaults.color;\n }\n}\n\n/**\n * Material Design mini floating action button (FAB) component for anchor elements. Anchor elements\n * are used to provide links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons-floating-action-button/\n */\n@Component({\n selector: `a[mat-mini-fab]`,\n templateUrl: 'button.html',\n styleUrls: ['fab.css'],\n inputs: MAT_ANCHOR_INPUTS,\n host: MAT_ANCHOR_HOST,\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatMiniFabAnchor extends MatAnchor {\n override _isFab = true;\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional() @Inject(MAT_FAB_DEFAULT_OPTIONS) private _options?: MatFabDefaultOptions,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options!.color || defaults.color;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\nimport {\n MAT_ANCHOR_HOST,\n MAT_ANCHOR_INPUTS,\n MAT_BUTTON_HOST,\n MAT_BUTTON_INPUTS,\n MatAnchorBase,\n MatButtonBase,\n} from './button-base';\nimport {MatRipple} from '@angular/material/core';\n\n/**\n * Material Design icon button component. This type of button displays a single interactive icon for\n * users to perform an action.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\n@Component({\n selector: `button[mat-icon-button]`,\n templateUrl: 'icon-button.html',\n styleUrls: ['icon-button.css', 'button-high-contrast.css'],\n inputs: MAT_BUTTON_INPUTS,\n host: MAT_BUTTON_HOST,\n exportAs: 'matButton',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatIconButton extends MatButtonBase {\n /**\n * Reference to the MatRipple instance of the button.\n * @deprecated Considered an implementation detail. To be removed.\n * @breaking-change 17.0.0\n */\n override get ripple(): MatRipple {\n if (!this._ripple && this._rippleLoader) {\n this._ripple = this._rippleLoader._createMatRipple(this._elementRef.nativeElement);\n this._ripple!.centered = true;\n }\n return this._ripple!;\n }\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n }\n}\n\n/**\n * Material Design icon button component for anchor elements. This button displays a single\n * interaction icon that allows users to navigate across different routes or pages.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\n@Component({\n selector: `a[mat-icon-button]`,\n templateUrl: 'button.html',\n styleUrls: ['icon-button.css', 'button-high-contrast.css'],\n inputs: MAT_ANCHOR_INPUTS,\n host: MAT_ANCHOR_HOST,\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatIconAnchor extends MatAnchorBase {\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n }\n}\n","<span class=\"mat-mdc-button-persistent-ripple mdc-icon-button__ripple\"></span>\n\n<ng-content></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-mdc-focus-indicator\"></span>\n\n<span class=\"mat-mdc-button-touch-target\"></span>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatAnchor, MatButton} from './button';\nimport {MatFabAnchor, MatFabButton, MatMiniFabAnchor, MatMiniFabButton} from './fab';\nimport {MatIconAnchor, MatIconButton} from './icon-button';\n\n@NgModule({\n imports: [MatCommonModule, MatRippleModule],\n exports: [\n MatAnchor,\n MatButton,\n MatIconAnchor,\n MatIconButton,\n MatMiniFabAnchor,\n MatMiniFabButton,\n MatFabAnchor,\n MatFabButton,\n MatCommonModule,\n ],\n declarations: [\n MatAnchor,\n MatButton,\n MatIconAnchor,\n MatMiniFabAnchor,\n MatMiniFabButton,\n MatIconButton,\n MatFabAnchor,\n MatFabButton,\n ],\n})\nexport class MatButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ANIMATION_MODULE_TYPE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button.mjs","sources":["../../../../../../src/material/button/button-lazy-loader.ts","../../../../../../src/material/button/button-base.ts","../../../../../../src/material/button/button.ts","../../../../../../src/material/button/button.html","../../../../../../src/material/button/fab.ts","../../../../../../src/material/button/icon-button.ts","../../../../../../src/material/button/icon-button.html","../../../../../../src/material/button/module.ts","../../../../../../src/material/button/button_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {DOCUMENT} from '@angular/common';\nimport {\n ANIMATION_MODULE_TYPE,\n ElementRef,\n Injectable,\n NgZone,\n OnDestroy,\n inject,\n} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\nimport {MAT_RIPPLE_GLOBAL_OPTIONS, MatRipple} from '@angular/material/core';\n\n/** The options for the MatButtonRippleLoader's event listeners. */\nconst eventListenerOptions = {capture: true};\n\n/** The events that should trigger the initialization of the ripple. */\nconst rippleInteractionEvents = ['focus', 'click', 'mouseenter', 'touchstart'];\n\n/** The attribute attached to a component whose ripple has not yet been initialized. */\nconst matRippleUninitialized = 'mat-ripple-loader-uninitialized';\n\n/** Additional classes that should be added to the ripple when it is rendered. */\nconst matRippleClassName = 'mat-ripple-loader-class-name';\n\n/** Whether the ripple should be centered. */\nconst matRippleCentered = 'mat-ripple-loader-centered';\n\n/** Whether the ripple should be disabled. */\nconst matRippleDisabled = 'mat-ripple-loader-disabled';\n\n/**\n * Handles attaching ripples on demand.\n *\n * This service allows us to avoid eagerly creating & attaching MatRipples.\n * It works by creating & attaching a ripple only when a component is first interacted with.\n */\n@Injectable({providedIn: 'root'})\nexport class MatButtonLazyLoader implements OnDestroy {\n private _document = inject(DOCUMENT, {optional: true});\n private _animationMode = inject(ANIMATION_MODULE_TYPE, {optional: true});\n private _globalRippleOptions = inject(MAT_RIPPLE_GLOBAL_OPTIONS, {optional: true});\n private _platform = inject(Platform);\n private _ngZone = inject(NgZone);\n\n constructor() {\n this._ngZone.runOutsideAngular(() => {\n for (const event of rippleInteractionEvents) {\n this._document?.addEventListener(event, this._onInteraction, eventListenerOptions);\n }\n });\n }\n\n ngOnDestroy() {\n for (const event of rippleInteractionEvents) {\n this._document?.removeEventListener(event, this._onInteraction, eventListenerOptions);\n }\n }\n\n /**\n * Configures the ripple that will be rendered by the ripple loader.\n *\n * Stores the given information about how the ripple should be configured on the host\n * element so that it can later be retrived & used when the ripple is actually created.\n */\n configureRipple(\n host: HTMLElement,\n config: {\n className?: string;\n centered?: boolean;\n disabled?: boolean;\n },\n ): void {\n // Indicates that the ripple has not yet been rendered for this component.\n host.setAttribute(matRippleUninitialized, '');\n\n // Store the additional class name(s) that should be added to the ripple element.\n if (config.className || !host.hasAttribute(matRippleClassName)) {\n host.setAttribute(matRippleClassName, config.className || '');\n }\n\n // Store whether the ripple should be centered.\n if (config.centered) {\n host.setAttribute(matRippleCentered, '');\n }\n\n if (config.disabled) {\n host.setAttribute(matRippleDisabled, '');\n }\n }\n\n /** Returns the ripple instance for the given host element. */\n getRipple(host: HTMLElement): MatRipple | undefined {\n if ((host as any).matRipple) {\n return (host as any).matRipple;\n }\n return this.createRipple(host);\n }\n\n /** Sets the disabled state on the ripple instance corresponding to the given host element. */\n setDisabled(host: HTMLElement, disabled: boolean): void {\n const ripple = (host as any).matRipple as MatRipple | undefined;\n\n // If the ripple has already been instantiated, just disable it.\n if (ripple) {\n ripple.disabled = disabled;\n return;\n }\n\n // Otherwise, set an attribute so we know what the\n // disabled state should be when the ripple is initialized.\n if (disabled) {\n host.setAttribute(matRippleDisabled, '');\n } else {\n host.removeAttribute(matRippleDisabled);\n }\n }\n\n /** Handles creating and attaching component internals when a component it is initially interacted with. */\n private _onInteraction = (event: Event) => {\n if (!(event.target instanceof HTMLElement)) {\n return;\n }\n const eventTarget = event.target as HTMLElement;\n\n // TODO(wagnermaciel): Consider batching these events to improve runtime performance.\n\n const element = eventTarget.closest(`[${matRippleUninitialized}]`);\n if (element) {\n this.createRipple(element as HTMLElement);\n }\n };\n\n /** Creates a MatRipple and appends it to the given element. */\n createRipple(host: HTMLElement): MatRipple | undefined {\n if (!this._document) {\n return;\n }\n\n // Create the ripple element.\n host.querySelector('.mat-ripple')?.remove();\n const rippleEl = this._document!.createElement('span');\n rippleEl.classList.add('mat-ripple', host.getAttribute(matRippleClassName)!);\n host.append(rippleEl);\n\n // Create the MatRipple.\n const ripple = new MatRipple(\n new ElementRef(rippleEl),\n this._ngZone,\n this._platform,\n this._globalRippleOptions ? this._globalRippleOptions : undefined,\n this._animationMode ? this._animationMode : undefined,\n );\n ripple._isInitialized = true;\n ripple.trigger = host;\n ripple.centered = host.hasAttribute(matRippleCentered);\n ripple.disabled = host.hasAttribute(matRippleDisabled);\n this.attachRipple(host, ripple);\n return ripple;\n }\n\n attachRipple(host: Element, ripple: MatRipple): void {\n host.removeAttribute(matRippleUninitialized);\n (host as any).matRipple = ripple;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Platform} from '@angular/cdk/platform';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n inject,\n NgZone,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport {\n CanColor,\n CanDisable,\n CanDisableRipple,\n MatRipple,\n mixinColor,\n mixinDisabled,\n mixinDisableRipple,\n} from '@angular/material/core';\nimport {MatButtonLazyLoader} from './button-lazy-loader';\n\n/** Inputs common to all buttons. */\nexport const MAT_BUTTON_INPUTS = ['disabled', 'disableRipple', 'color'];\n\n/** Shared host configuration for all buttons */\nexport const MAT_BUTTON_HOST = {\n '[attr.disabled]': 'disabled || null',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n // MDC automatically applies the primary theme color to the button, but we want to support\n // an unthemed version. If color is undefined, apply a CSS class that makes it easy to\n // select and style this \"theme\".\n '[class.mat-unthemed]': '!color',\n // Add a class that applies to all buttons. This makes it easier to target if somebody\n // wants to target all Material buttons.\n '[class.mat-mdc-button-base]': 'true',\n};\n\n/** List of classes to add to buttons instances based on host attribute selector. */\nconst HOST_SELECTOR_MDC_CLASS_PAIR: {selector: string; mdcClasses: string[]}[] = [\n {\n selector: 'mat-button',\n mdcClasses: ['mdc-button', 'mat-mdc-button'],\n },\n {\n selector: 'mat-flat-button',\n mdcClasses: ['mdc-button', 'mdc-button--unelevated', 'mat-mdc-unelevated-button'],\n },\n {\n selector: 'mat-raised-button',\n mdcClasses: ['mdc-button', 'mdc-button--raised', 'mat-mdc-raised-button'],\n },\n {\n selector: 'mat-stroked-button',\n mdcClasses: ['mdc-button', 'mdc-button--outlined', 'mat-mdc-outlined-button'],\n },\n {\n selector: 'mat-fab',\n mdcClasses: ['mdc-fab', 'mat-mdc-fab'],\n },\n {\n selector: 'mat-mini-fab',\n mdcClasses: ['mdc-fab', 'mdc-fab--mini', 'mat-mdc-mini-fab'],\n },\n {\n selector: 'mat-icon-button',\n mdcClasses: ['mdc-icon-button', 'mat-mdc-icon-button'],\n },\n];\n\n// Boilerplate for applying mixins to MatButton.\n/** @docs-private */\nexport const _MatButtonMixin = mixinColor(\n mixinDisabled(\n mixinDisableRipple(\n class {\n constructor(public _elementRef: ElementRef) {}\n },\n ),\n ),\n);\n\n/** Base class for all buttons. */\n@Directive()\nexport class MatButtonBase\n extends _MatButtonMixin\n implements CanDisable, CanColor, CanDisableRipple, AfterViewInit, OnDestroy\n{\n private readonly _focusMonitor = inject(FocusMonitor);\n\n /**\n * Handles the lazy creation of the MatButton ripple.\n * Used to improve initial load time of large applications.\n */\n _rippleLoader: MatButtonLazyLoader = inject(MatButtonLazyLoader);\n\n /** Whether this button is a FAB. Used to apply the correct class on the ripple. */\n _isFab = false;\n\n /**\n * Reference to the MatRipple instance of the button.\n * @deprecated Considered an implementation detail. To be removed.\n * @breaking-change 17.0.0\n */\n get ripple(): MatRipple {\n return this._rippleLoader?.getRipple(this._elementRef.nativeElement)!;\n }\n set ripple(v: MatRipple) {\n this._rippleLoader?.attachRipple(this._elementRef.nativeElement, v);\n }\n\n // We override `disableRipple` and `disabled` so we can hook into\n // their setters and update the ripple disabled state accordingly.\n\n /** Whether the ripple effect is disabled or not. */\n override get disableRipple(): boolean {\n return this._disableRipple;\n }\n override set disableRipple(value: any) {\n this._disableRipple = coerceBooleanProperty(value);\n this._updateRippleDisabled();\n }\n private _disableRipple: boolean = false;\n\n override get disabled(): boolean {\n return this._disabled;\n }\n override set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n this._updateRippleDisabled();\n }\n private _disabled: boolean = false;\n\n constructor(\n elementRef: ElementRef,\n public _platform: Platform,\n public _ngZone: NgZone,\n public _animationMode?: string,\n ) {\n super(elementRef);\n\n this._rippleLoader?.configureRipple(this._elementRef.nativeElement, {\n className: 'mat-mdc-button-ripple',\n });\n\n const classList = (elementRef.nativeElement as HTMLElement).classList;\n\n // For each of the variant selectors that is present in the button's host\n // attributes, add the correct corresponding MDC classes.\n for (const pair of HOST_SELECTOR_MDC_CLASS_PAIR) {\n if (this._hasHostAttributes(pair.selector)) {\n pair.mdcClasses.forEach((className: string) => {\n classList.add(className);\n });\n }\n }\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the button. */\n focus(_origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (_origin) {\n this._focusMonitor.focusVia(this._elementRef.nativeElement, _origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n /** Gets whether the button has one of the given attributes. */\n private _hasHostAttributes(...attributes: string[]) {\n return attributes.some(attribute => this._elementRef.nativeElement.hasAttribute(attribute));\n }\n\n private _updateRippleDisabled(): void {\n this._rippleLoader?.setDisabled(\n this._elementRef.nativeElement,\n this.disableRipple || this.disabled,\n );\n }\n}\n\n/** Shared inputs by buttons using the `<a>` tag */\nexport const MAT_ANCHOR_INPUTS = ['disabled', 'disableRipple', 'color', 'tabIndex'];\n\n/** Shared host configuration for buttons using the `<a>` tag. */\nexport const MAT_ANCHOR_HOST = {\n '[attr.disabled]': 'disabled || null',\n '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"',\n\n // Note that we ignore the user-specified tabindex when it's disabled for\n // consistency with the `mat-button` applied on native buttons where even\n // though they have an index, they're not tabbable.\n '[attr.tabindex]': 'disabled ? -1 : tabIndex',\n '[attr.aria-disabled]': 'disabled.toString()',\n // MDC automatically applies the primary theme color to the button, but we want to support\n // an unthemed version. If color is undefined, apply a CSS class that makes it easy to\n // select and style this \"theme\".\n '[class.mat-unthemed]': '!color',\n // Add a class that applies to all buttons. This makes it easier to target if somebody\n // wants to target all Material buttons.\n '[class.mat-mdc-button-base]': 'true',\n};\n\n/**\n * Anchor button base.\n */\n@Directive()\nexport class MatAnchorBase extends MatButtonBase implements OnInit, OnDestroy {\n tabIndex: number;\n\n constructor(elementRef: ElementRef, platform: Platform, ngZone: NgZone, animationMode?: string) {\n super(elementRef, platform, ngZone, animationMode);\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => {\n this._elementRef.nativeElement.addEventListener('click', this._haltDisabledEvents);\n });\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._elementRef.nativeElement.removeEventListener('click', this._haltDisabledEvents);\n }\n\n _haltDisabledEvents = (event: Event): void => {\n // A disabled button shouldn't apply any actions\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\nimport {\n MAT_ANCHOR_HOST,\n MAT_ANCHOR_INPUTS,\n MAT_BUTTON_HOST,\n MAT_BUTTON_INPUTS,\n MatAnchorBase,\n MatButtonBase,\n} from './button-base';\n\n/**\n * Material Design button component. Users interact with a button to perform an action.\n * See https://material.io/components/buttons\n *\n * The `MatButton` class applies to native button elements and captures the appearances for\n * \"text button\", \"outlined button\", and \"contained button\" per the Material Design\n * specification. `MatButton` additionally captures an additional \"flat\" appearance, which matches\n * \"contained\" but without elevation.\n */\n@Component({\n selector: `\n button[mat-button], button[mat-raised-button], button[mat-flat-button],\n button[mat-stroked-button]\n `,\n templateUrl: 'button.html',\n styleUrls: ['button.css', 'button-high-contrast.css'],\n inputs: MAT_BUTTON_INPUTS,\n host: MAT_BUTTON_HOST,\n exportAs: 'matButton',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatButton extends MatButtonBase {\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n }\n}\n\n/**\n * Material Design button component for anchor elements. Anchor elements are used to provide\n * links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons\n *\n * The `MatAnchor` class applies to native anchor elements and captures the appearances for\n * \"text button\", \"outlined button\", and \"contained button\" per the Material Design\n * specification. `MatAnchor` additionally captures an additional \"flat\" appearance, which matches\n * \"contained\" but without elevation.\n */\n@Component({\n selector: `a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]`,\n exportAs: 'matButton, matAnchor',\n host: MAT_ANCHOR_HOST,\n inputs: MAT_ANCHOR_INPUTS,\n templateUrl: 'button.html',\n styleUrls: ['button.css', 'button-high-contrast.css'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatAnchor extends MatAnchorBase {\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n }\n}\n","<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-mdc-focus-indicator\"></span>\n\n<span class=\"mat-mdc-button-touch-target\"></span>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n InjectionToken,\n NgZone,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\nimport {MatAnchor} from './button';\nimport {\n MAT_ANCHOR_HOST,\n MAT_ANCHOR_INPUTS,\n MAT_BUTTON_HOST,\n MAT_BUTTON_INPUTS,\n MatButtonBase,\n} from './button-base';\nimport {ThemePalette} from '@angular/material/core';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Default FAB options that can be overridden. */\nexport interface MatFabDefaultOptions {\n color?: ThemePalette;\n}\n\n/** Injection token to be used to override the default options for FAB. */\nexport const MAT_FAB_DEFAULT_OPTIONS = new InjectionToken<MatFabDefaultOptions>(\n 'mat-mdc-fab-default-options',\n {\n providedIn: 'root',\n factory: MAT_FAB_DEFAULT_OPTIONS_FACTORY,\n },\n);\n\n/** @docs-private */\nexport function MAT_FAB_DEFAULT_OPTIONS_FACTORY(): MatFabDefaultOptions {\n return {\n // The FAB by default has its color set to accent.\n color: 'accent',\n };\n}\n\n// Default FAB configuration.\nconst defaults = MAT_FAB_DEFAULT_OPTIONS_FACTORY();\n\nlet buttonInputs = [...MAT_ANCHOR_INPUTS, 'extended'];\n\n/**\n * Material Design floating action button (FAB) component. These buttons represent the primary\n * or most common action for users to interact with.\n * See https://material.io/components/buttons-floating-action-button/\n *\n * The `MatFabButton` class has two appearances: normal and extended.\n */\n@Component({\n selector: `button[mat-fab]`,\n templateUrl: 'button.html',\n styleUrls: ['fab.css'],\n inputs: buttonInputs,\n host: {\n ...MAT_BUTTON_HOST,\n '[class.mdc-fab--extended]': 'extended',\n '[class.mat-mdc-extended-fab]': 'extended',\n },\n exportAs: 'matButton',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatFabButton extends MatButtonBase {\n override _isFab = true;\n\n get extended(): boolean {\n return this._extended;\n }\n set extended(value: BooleanInput) {\n this._extended = coerceBooleanProperty(value);\n }\n private _extended: boolean;\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional() @Inject(MAT_FAB_DEFAULT_OPTIONS) private _options?: MatFabDefaultOptions,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options!.color || defaults.color;\n }\n}\n\n/**\n * Material Design mini floating action button (FAB) component. These buttons represent the primary\n * or most common action for users to interact with.\n * See https://material.io/components/buttons-floating-action-button/\n */\n@Component({\n selector: `button[mat-mini-fab]`,\n templateUrl: 'button.html',\n styleUrls: ['fab.css'],\n inputs: MAT_BUTTON_INPUTS,\n host: MAT_BUTTON_HOST,\n exportAs: 'matButton',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatMiniFabButton extends MatButtonBase {\n override _isFab = true;\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional() @Inject(MAT_FAB_DEFAULT_OPTIONS) private _options?: MatFabDefaultOptions,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options!.color || defaults.color;\n }\n}\n\n/**\n * Material Design floating action button (FAB) component for anchor elements. Anchor elements\n * are used to provide links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons-floating-action-button/\n *\n * The `MatFabAnchor` class has two appearances: normal and extended.\n */\n@Component({\n selector: `a[mat-fab]`,\n templateUrl: 'button.html',\n styleUrls: ['fab.css'],\n inputs: buttonInputs,\n host: {\n ...MAT_ANCHOR_HOST,\n '[class.mdc-fab--extended]': 'extended',\n '[class.mat-mdc-extended-fab]': 'extended',\n },\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatFabAnchor extends MatAnchor {\n override _isFab = true;\n\n get extended(): boolean {\n return this._extended;\n }\n set extended(value: BooleanInput) {\n this._extended = coerceBooleanProperty(value);\n }\n private _extended: boolean;\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional() @Inject(MAT_FAB_DEFAULT_OPTIONS) private _options?: MatFabDefaultOptions,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options!.color || defaults.color;\n }\n}\n\n/**\n * Material Design mini floating action button (FAB) component for anchor elements. Anchor elements\n * are used to provide links for the user to navigate across different routes or pages.\n * See https://material.io/components/buttons-floating-action-button/\n */\n@Component({\n selector: `a[mat-mini-fab]`,\n templateUrl: 'button.html',\n styleUrls: ['fab.css'],\n inputs: MAT_ANCHOR_INPUTS,\n host: MAT_ANCHOR_HOST,\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatMiniFabAnchor extends MatAnchor {\n override _isFab = true;\n\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n @Optional() @Inject(MAT_FAB_DEFAULT_OPTIONS) private _options?: MatFabDefaultOptions,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n this._options = this._options || defaults;\n this.color = this.defaultColor = this._options!.color || defaults.color;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Platform} from '@angular/cdk/platform';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n ViewEncapsulation,\n} from '@angular/core';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\nimport {\n MAT_ANCHOR_HOST,\n MAT_ANCHOR_INPUTS,\n MAT_BUTTON_HOST,\n MAT_BUTTON_INPUTS,\n MatAnchorBase,\n MatButtonBase,\n} from './button-base';\n\n/**\n * Material Design icon button component. This type of button displays a single interactive icon for\n * users to perform an action.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\n@Component({\n selector: `button[mat-icon-button]`,\n templateUrl: 'icon-button.html',\n styleUrls: ['icon-button.css', 'button-high-contrast.css'],\n inputs: MAT_BUTTON_INPUTS,\n host: MAT_BUTTON_HOST,\n exportAs: 'matButton',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatIconButton extends MatButtonBase {\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n\n this._rippleLoader.configureRipple(this._elementRef.nativeElement, {centered: true});\n }\n}\n\n/**\n * Material Design icon button component for anchor elements. This button displays a single\n * interaction icon that allows users to navigate across different routes or pages.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\n@Component({\n selector: `a[mat-icon-button]`,\n templateUrl: 'button.html',\n styleUrls: ['icon-button.css', 'button-high-contrast.css'],\n inputs: MAT_ANCHOR_INPUTS,\n host: MAT_ANCHOR_HOST,\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatIconAnchor extends MatAnchorBase {\n constructor(\n elementRef: ElementRef,\n platform: Platform,\n ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n super(elementRef, platform, ngZone, animationMode);\n }\n}\n","<span class=\"mat-mdc-button-persistent-ripple mdc-icon-button__ripple\"></span>\n\n<ng-content></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-mdc-focus-indicator\"></span>\n\n<span class=\"mat-mdc-button-touch-target\"></span>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatAnchor, MatButton} from './button';\nimport {MatFabAnchor, MatFabButton, MatMiniFabAnchor, MatMiniFabButton} from './fab';\nimport {MatIconAnchor, MatIconButton} from './icon-button';\n\n@NgModule({\n imports: [MatCommonModule, MatRippleModule],\n exports: [\n MatAnchor,\n MatButton,\n MatIconAnchor,\n MatIconButton,\n MatMiniFabAnchor,\n MatMiniFabButton,\n MatFabAnchor,\n MatFabButton,\n MatCommonModule,\n ],\n declarations: [\n MatAnchor,\n MatButton,\n MatIconAnchor,\n MatMiniFabAnchor,\n MatMiniFabButton,\n MatIconButton,\n MatFabAnchor,\n MatFabButton,\n ],\n})\nexport class MatButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ANIMATION_MODULE_TYPE"],"mappings":"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"}
|