@angular/material
Version:
Angular Material
1 lines • 17.9 kB
Source Map (JSON)
{"version":3,"file":"button.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/button.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/button.html","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/fab.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/button/button-module.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.dev/license\n */\n\nimport {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\nimport {MatButtonAppearance, MatButtonBase} from './button-base';\n\n/**\n * Classes that need to be set for each appearance of the button.\n * Note that we use a `Map` here to avoid issues with property renaming.\n */\nconst APPEARANCE_CLASSES: Map<MatButtonAppearance, readonly string[]> = new Map([\n ['text', ['mat-mdc-button']],\n ['filled', ['mdc-button--unelevated', 'mat-mdc-unelevated-button']],\n ['elevated', ['mdc-button--raised', 'mat-mdc-raised-button']],\n ['outlined', ['mdc-button--outlined', 'mat-mdc-outlined-button']],\n ['tonal', ['mat-tonal-button']],\n]);\n\n/**\n * Material Design button component. Users interact with a button to perform an action.\n * See https://m3.material.io/components/buttons/overview\n */\n@Component({\n selector: `\n button[matButton], a[matButton], button[mat-button], button[mat-raised-button],\n button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button],\n a[mat-flat-button], a[mat-stroked-button]\n `,\n templateUrl: 'button.html',\n styleUrls: ['button.css', 'button-high-contrast.css'],\n host: {\n 'class': 'mdc-button',\n },\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatButton extends MatButtonBase {\n /** Appearance of the button. */\n @Input('matButton')\n get appearance(): MatButtonAppearance | null {\n return this._appearance;\n }\n set appearance(value: MatButtonAppearance | '') {\n // Allow empty string so users can do `<button matButton></button>`\n // without having to write out `=\"text\"` every time.\n this.setAppearance(value || this._config?.defaultAppearance || 'text');\n }\n private _appearance: MatButtonAppearance | null = null;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n const inferredAppearance = _inferAppearance(this._elementRef.nativeElement);\n\n // Only set the appearance if we managed to infer it from the static attributes, rather than\n // doing something like `setAppearance(inferredAppearance || 'text')`, because doing so can\n // cause the fallback appearance's classes to be set and then immediately replaced when\n // the input value is assigned.\n if (inferredAppearance) {\n this.setAppearance(inferredAppearance);\n }\n }\n\n /** Programmatically sets the appearance of the button. */\n setAppearance(appearance: MatButtonAppearance): void {\n if (appearance === this._appearance) {\n return;\n }\n\n const classList = this._elementRef.nativeElement.classList;\n const previousClasses = this._appearance ? APPEARANCE_CLASSES.get(this._appearance) : null;\n const newClasses = APPEARANCE_CLASSES.get(appearance)!;\n\n if ((typeof ngDevMode === 'undefined' || ngDevMode) && !newClasses) {\n throw new Error(`Unsupported MatButton appearance \"${appearance}\"`);\n }\n\n if (previousClasses) {\n classList.remove(...previousClasses);\n }\n\n classList.add(...newClasses);\n this._appearance = appearance;\n }\n}\n\n/** Infers the button's appearance from its static attributes. */\nfunction _inferAppearance(button: HTMLElement): MatButtonAppearance | null {\n if (button.hasAttribute('mat-raised-button')) {\n return 'elevated';\n }\n\n if (button.hasAttribute('mat-stroked-button')) {\n return 'outlined';\n }\n\n if (button.hasAttribute('mat-flat-button')) {\n return 'filled';\n }\n\n if (button.hasAttribute('mat-button')) {\n return 'text';\n }\n\n return null;\n}\n\n// tslint:disable:variable-name\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://m3.material.io/components/buttons/overview\n */\nexport const MatAnchor = MatButton;\nexport type MatAnchor = MatButton;\n// tslint:enable:variable-name\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-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.dev/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n InjectionToken,\n Input,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n} from '@angular/core';\n\nimport {MatButtonBase} from './button-base';\nimport {ThemePalette} from '../core';\n\n/** Default FAB options that can be overridden. */\nexport interface MatFabDefaultOptions {\n /**\n * Default theme color of the button. This API is supported in M2 themes\n * only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/button/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants.\n */\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: () => defaults,\n },\n);\n\n// Default FAB configuration.\nconst defaults: MatFabDefaultOptions = {\n // The FAB by default has its color set to accent.\n color: 'accent',\n};\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://m3.material.io/components/floating-action-button/overview\n *\n * The `MatFabButton` class has two appearances: normal and extended.\n */\n@Component({\n selector: `button[mat-fab], a[mat-fab], button[matFab], a[matFab]`,\n templateUrl: 'button.html',\n styleUrl: 'fab.css',\n host: {\n 'class': 'mdc-fab mat-mdc-fab-base mat-mdc-fab',\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 MatFabButton extends MatButtonBase {\n private _options = inject<MatFabDefaultOptions>(MAT_FAB_DEFAULT_OPTIONS, {optional: true});\n\n override _isFab = true;\n\n @Input({transform: booleanAttribute}) extended: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n this._options = this._options || defaults;\n this.color = 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://m3.material.io/components/floating-action-button/overview\n */\n@Component({\n selector: `button[mat-mini-fab], a[mat-mini-fab], button[matMiniFab], a[matMiniFab]`,\n templateUrl: 'button.html',\n styleUrl: 'fab.css',\n host: {\n 'class': 'mdc-fab mat-mdc-fab-base mdc-fab--mini mat-mdc-mini-fab',\n },\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatMiniFabButton extends MatButtonBase {\n private _options = inject<MatFabDefaultOptions>(MAT_FAB_DEFAULT_OPTIONS, {optional: true});\n\n override _isFab = true;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n this._options = this._options || defaults;\n this.color = this._options!.color || defaults.color;\n }\n}\n\n// tslint:disable:variable-name\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://m3.material.io/components/floating-action-button/overview\n *\n * The `MatFabAnchor` class has two appearances: normal and extended.\n */\nexport const MatFabAnchor = MatFabButton;\nexport type MatFabAnchor = MatFabButton;\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://m3.material.io/components/floating-action-button/overview\n */\nexport const MatMiniFabAnchor = MatMiniFabButton;\nexport type MatMiniFabAnchor = MatMiniFabButton;\n// tslint:enable:variable-name\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.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {MatRippleModule} from '../core';\nimport {MatButton} from './button';\nimport {MatFabButton, MatMiniFabButton} from './fab';\nimport {MatIconButton} from './icon-button';\n\n@NgModule({\n imports: [MatRippleModule, MatButton, MatMiniFabButton, MatIconButton, MatFabButton],\n exports: [BidiModule, MatButton, MatMiniFabButton, MatIconButton, MatFabButton],\n})\nexport class MatButtonModule {}\n"],"names":["APPEARANCE_CLASSES","Map","MatButton","MatButtonBase","appearance","_appearance","value","setAppearance","_config","defaultAppearance","constructor","inferredAppearance","_inferAppearance","_elementRef","nativeElement","classList","previousClasses","get","newClasses","ngDevMode","Error","remove","add","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","args","selector","host","exportAs","template","Input","button","hasAttribute","MatAnchor","MAT_FAB_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","defaults","color","MatFabButton","_options","inject","optional","_isFab","extended","isStandalone","inputs","booleanAttribute","properties","classAttribute","usesInheritance","ngImport","transform","MatMiniFabButton","MatFabAnchor","MatMiniFabAnchor","MatButtonModule","NgModule","ɵmod","ɵɵngDeclareNgModule","MatRippleModule","MatIconButton","exports","BidiModule","imports"],"mappings":"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"}