@angular/material 21.1.0-next.0 → 21.1.0-next.1
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/fesm2022/_animation-chunk.mjs.map +1 -1
- package/fesm2022/_date-formats-chunk.mjs.map +1 -1
- package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_error-options-chunk.mjs.map +1 -1
- package/fesm2022/_error-state-chunk.mjs.map +1 -1
- package/fesm2022/_form-field-chunk.mjs.map +1 -1
- package/fesm2022/_icon-button-chunk.mjs.map +1 -1
- package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
- package/fesm2022/_input-harness-chunk.mjs.map +1 -1
- package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
- package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
- package/fesm2022/_line-chunk.mjs.map +1 -1
- package/fesm2022/_option-chunk.mjs.map +1 -1
- package/fesm2022/_option-harness-chunk.mjs.map +1 -1
- package/fesm2022/_option-module-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
- package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
- package/fesm2022/_public-api-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
- package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
- package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
- package/fesm2022/_tooltip-chunk.mjs.map +1 -1
- package/fesm2022/autocomplete-testing.mjs.map +1 -1
- package/fesm2022/autocomplete.mjs +6 -2
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge-testing.mjs.map +1 -1
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
- package/fesm2022/bottom-sheet.mjs.map +1 -1
- package/fesm2022/button-testing.mjs.map +1 -1
- package/fesm2022/button-toggle-testing.mjs.map +1 -1
- package/fesm2022/button-toggle.mjs.map +1 -1
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/card-testing.mjs.map +1 -1
- package/fesm2022/card.mjs.map +1 -1
- package/fesm2022/checkbox-testing.mjs.map +1 -1
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips-testing.mjs.map +1 -1
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core-testing.mjs.map +1 -1
- package/fesm2022/core.mjs +1 -1
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker-testing.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +3 -1
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/dialog-testing.mjs.map +1 -1
- package/fesm2022/dialog.mjs.map +1 -1
- package/fesm2022/divider-testing.mjs.map +1 -1
- package/fesm2022/divider.mjs.map +1 -1
- package/fesm2022/expansion-testing.mjs.map +1 -1
- package/fesm2022/expansion.mjs.map +1 -1
- package/fesm2022/form-field-testing-control.mjs.map +1 -1
- package/fesm2022/form-field-testing.mjs.map +1 -1
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/grid-list-testing.mjs.map +1 -1
- package/fesm2022/grid-list.mjs.map +1 -1
- package/fesm2022/icon-testing.mjs.map +1 -1
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/input-testing.mjs.map +1 -1
- package/fesm2022/input.mjs.map +1 -1
- package/fesm2022/list-testing.mjs.map +1 -1
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/material.mjs.map +1 -1
- package/fesm2022/menu-testing.mjs.map +1 -1
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator-testing.mjs.map +1 -1
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar-testing.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner-testing.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio-testing.mjs.map +1 -1
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select-testing.mjs.map +1 -1
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav-testing.mjs.map +1 -1
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle-testing.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider-testing.mjs.map +1 -1
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/snack-bar-testing.mjs.map +1 -1
- package/fesm2022/snack-bar.mjs.map +1 -1
- package/fesm2022/sort-testing.mjs.map +1 -1
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper-testing.mjs.map +1 -1
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/table-testing.mjs.map +1 -1
- package/fesm2022/table.mjs.map +1 -1
- package/fesm2022/tabs-testing.mjs.map +1 -1
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker-testing.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +29 -33
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar-testing.mjs.map +1 -1
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip-testing.mjs.map +1 -1
- package/fesm2022/tooltip.mjs.map +1 -1
- package/fesm2022/tree-testing.mjs.map +1 -1
- package/fesm2022/tree.mjs.map +1 -1
- package/package.json +2 -2
- package/schematics/ng-add/index.js +1 -1
- package/types/datepicker.d.ts +4 -0
- package/types/timepicker.d.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-toggle.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/button-toggle/button-toggle.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/button-toggle/button-toggle.html","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/button-toggle/button-toggle-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 {_IdGenerator, FocusMonitor} from '@angular/cdk/a11y';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {\n DOWN_ARROW,\n ENTER,\n LEFT_ARROW,\n RIGHT_ARROW,\n SPACE,\n UP_ARROW,\n hasModifierKey,\n} from '@angular/cdk/keycodes';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostAttributeToken,\n inject,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n signal,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {_animationsDisabled, _StructuralStylesLoader, MatPseudoCheckbox, MatRipple} from '../core';\n\n/**\n * @deprecated No longer used.\n * @breaking-change 11.0.0\n */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/** Possible appearance styles for the button toggle. */\nexport type MatButtonToggleAppearance = 'legacy' | 'standard';\n\n/**\n * Represents the default options for the button toggle that can be configured\n * using the `MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS` injection token.\n */\nexport interface MatButtonToggleDefaultOptions {\n /**\n * Default appearance to be used by button toggles. Can be overridden by explicitly\n * setting an appearance on a button toggle or group.\n */\n appearance?: MatButtonToggleAppearance;\n /** Whether icon indicators should be hidden for single-selection button toggle groups. */\n hideSingleSelectionIndicator?: boolean;\n /** Whether icon indicators should be hidden for multiple-selection button toggle groups. */\n hideMultipleSelectionIndicator?: boolean;\n /** Whether disabled toggle buttons should be interactive. */\n disabledInteractive?: boolean;\n}\n\n/**\n * Injection token that can be used to configure the\n * default options for all button toggles within an app.\n */\nexport const MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS = new InjectionToken<MatButtonToggleDefaultOptions>(\n 'MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS',\n {\n providedIn: 'root',\n factory: () => ({\n hideSingleSelectionIndicator: false,\n hideMultipleSelectionIndicator: false,\n disabledInteractive: false,\n }),\n },\n);\n\n/**\n * Injection token that can be used to reference instances of `MatButtonToggleGroup`.\n * It serves as alternative token to the actual `MatButtonToggleGroup` class which\n * could cause unnecessary retention of the class and its component metadata.\n */\nexport const MAT_BUTTON_TOGGLE_GROUP = new InjectionToken<MatButtonToggleGroup>(\n 'MatButtonToggleGroup',\n);\n\n/**\n * Provider Expression that allows mat-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatButtonToggleGroup),\n multi: true,\n};\n\n/** Change event object emitted by button toggle. */\nexport class MatButtonToggleChange {\n constructor(\n /** The button toggle that emits the event. */\n public source: MatButtonToggle,\n\n /** The value assigned to the button toggle. */\n public value: any,\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'mat-button-toggle-group',\n providers: [\n MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\n {provide: MAT_BUTTON_TOGGLE_GROUP, useExisting: MatButtonToggleGroup},\n ],\n host: {\n 'class': 'mat-button-toggle-group',\n '(keydown)': '_keydown($event)',\n '[attr.role]': \"multiple ? 'group' : 'radiogroup'\",\n '[attr.aria-disabled]': 'disabled',\n '[class.mat-button-toggle-vertical]': 'vertical',\n '[class.mat-button-toggle-group-appearance-standard]': 'appearance === \"standard\"',\n },\n exportAs: 'matButtonToggleGroup',\n})\nexport class MatButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n private _changeDetector = inject(ChangeDetectorRef);\n private _dir = inject(Directionality, {optional: true});\n\n private _multiple = false;\n private _disabled = false;\n private _disabledInteractive = false;\n private _selectionModel: SelectionModel<MatButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private _rawValue: any;\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n _onTouched: () => any = () => {};\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => MatButtonToggle), {\n // Note that this would technically pick up toggles\n // from nested groups, but that's not a case that we support.\n descendants: true,\n })\n _buttonToggles: QueryList<MatButtonToggle>;\n\n /** The appearance for all the buttons in the group. */\n @Input() appearance: MatButtonToggleAppearance;\n\n /** `name` attribute for the underlying `input` element. */\n @Input()\n get name(): string {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n this._markButtonsForCheck();\n }\n private _name = inject(_IdGenerator).getId('mat-button-toggle-group-');\n\n /** Whether the toggle group is vertical. */\n @Input({transform: booleanAttribute}) vertical: boolean;\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map(toggle => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n set value(newValue: any) {\n this._setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Selected button toggles in the group. */\n get selected(): MatButtonToggle | MatButtonToggle[] {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n return this.multiple ? selected : selected[0] || null;\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input({transform: booleanAttribute})\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._multiple = value;\n this._markButtonsForCheck();\n }\n\n /** Whether multiple button toggle group is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n this._markButtonsForCheck();\n }\n\n /** Whether buttons in the group should be interactive while they're disabled. */\n @Input({transform: booleanAttribute})\n get disabledInteractive(): boolean {\n return this._disabledInteractive;\n }\n set disabledInteractive(value: boolean) {\n this._disabledInteractive = value;\n this._markButtonsForCheck();\n }\n\n /** The layout direction of the toggle button group. */\n get dir(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<MatButtonToggleChange> =\n new EventEmitter<MatButtonToggleChange>();\n\n /** Whether checkmark indicator for single-selection button toggle groups is hidden. */\n @Input({transform: booleanAttribute})\n get hideSingleSelectionIndicator(): boolean {\n return this._hideSingleSelectionIndicator;\n }\n set hideSingleSelectionIndicator(value: boolean) {\n this._hideSingleSelectionIndicator = value;\n this._markButtonsForCheck();\n }\n private _hideSingleSelectionIndicator: boolean;\n\n /** Whether checkmark indicator for multiple-selection button toggle groups is hidden. */\n @Input({transform: booleanAttribute})\n get hideMultipleSelectionIndicator(): boolean {\n return this._hideMultipleSelectionIndicator;\n }\n set hideMultipleSelectionIndicator(value: boolean) {\n this._hideMultipleSelectionIndicator = value;\n this._markButtonsForCheck();\n }\n private _hideMultipleSelectionIndicator: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n const defaultOptions = inject<MatButtonToggleDefaultOptions>(\n MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,\n {optional: true},\n );\n\n this.appearance =\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\n this.hideSingleSelectionIndicator = defaultOptions?.hideSingleSelectionIndicator ?? false;\n this.hideMultipleSelectionIndicator = defaultOptions?.hideMultipleSelectionIndicator ?? false;\n }\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<MatButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\n if (!this.multiple) {\n this._initializeTabIndex();\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Handle keydown event calling to single-select button toggle. */\n protected _keydown(event: KeyboardEvent) {\n if (this.multiple || this.disabled || hasModifierKey(event)) {\n return;\n }\n\n const target = event.target as HTMLButtonElement;\n const buttonId = target.id;\n const index = this._buttonToggles.toArray().findIndex(toggle => {\n return toggle.buttonId === buttonId;\n });\n\n let nextButton: MatButtonToggle | null = null;\n switch (event.keyCode) {\n case SPACE:\n case ENTER:\n nextButton = this._buttonToggles.get(index) || null;\n break;\n case UP_ARROW:\n nextButton = this._getNextButton(index, -1);\n break;\n case LEFT_ARROW:\n nextButton = this._getNextButton(index, this.dir === 'ltr' ? -1 : 1);\n break;\n case DOWN_ARROW:\n nextButton = this._getNextButton(index, 1);\n break;\n case RIGHT_ARROW:\n nextButton = this._getNextButton(index, this.dir === 'ltr' ? 1 : -1);\n break;\n default:\n return;\n }\n\n if (nextButton) {\n event.preventDefault();\n nextButton._onButtonClick();\n nextButton.focus();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent(toggle: MatButtonToggle): void {\n const event = new MatButtonToggleChange(toggle, this.value);\n this._rawValue = event.value;\n this._controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n * @param deferEvents Whether to defer emitting the change events.\n */\n _syncButtonToggle(\n toggle: MatButtonToggle,\n select: boolean,\n isUserInput = false,\n deferEvents = false,\n ) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as MatButtonToggle).checked = false;\n }\n\n if (this._selectionModel) {\n if (select) {\n this._selectionModel.select(toggle);\n } else {\n this._selectionModel.deselect(toggle);\n }\n } else {\n deferEvents = true;\n }\n\n // We need to defer in some cases in order to avoid \"changed after checked errors\", however\n // the side-effect is that we may end up updating the model value out of sequence in others\n // The `deferEvents` flag allows us to decide whether to do it on a case-by-case basis.\n if (deferEvents) {\n Promise.resolve().then(() => this._updateModelValue(toggle, isUserInput));\n } else {\n this._updateModelValue(toggle, isUserInput);\n }\n }\n\n /** Checks whether a button toggle is selected. */\n _isSelected(toggle: MatButtonToggle) {\n return this._selectionModel && this._selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n _isPrechecked(toggle: MatButtonToggle) {\n if (typeof this._rawValue === 'undefined') {\n return false;\n }\n\n if (this.multiple && Array.isArray(this._rawValue)) {\n return this._rawValue.some(value => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this._rawValue;\n }\n\n /** Initializes the tabindex attribute using the radio pattern. */\n private _initializeTabIndex() {\n this._buttonToggles.forEach(toggle => {\n toggle.tabIndex = -1;\n });\n if (this.selected) {\n (this.selected as MatButtonToggle).tabIndex = 0;\n } else {\n for (let i = 0; i < this._buttonToggles.length; i++) {\n const toggle = this._buttonToggles.get(i)!;\n\n if (!toggle.disabled) {\n toggle.tabIndex = 0;\n break;\n }\n }\n }\n }\n\n /** Obtain the subsequent toggle to which the focus shifts. */\n private _getNextButton(startIndex: number, offset: number): MatButtonToggle | null {\n const items = this._buttonToggles;\n\n for (let i = 1; i <= items.length; i++) {\n const index = (startIndex + offset * i + items.length) % items.length;\n const item = items.get(index);\n\n if (item && !item.disabled) {\n return item;\n }\n }\n\n return null;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private _setSelectionByValue(value: any | any[]) {\n this._rawValue = value;\n\n if (!this._buttonToggles) {\n return;\n }\n\n const toggles = this._buttonToggles.toArray();\n\n if (this.multiple && value) {\n if (!Array.isArray(value) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this._clearSelection();\n value.forEach((currentValue: any) => this._selectValue(currentValue, toggles));\n } else {\n this._clearSelection();\n this._selectValue(value, toggles);\n }\n\n // In single selection mode we need at least one enabled toggle to always be focusable.\n if (!this.multiple && toggles.every(toggle => toggle.tabIndex === -1)) {\n for (const toggle of toggles) {\n if (!toggle.disabled) {\n toggle.tabIndex = 0;\n break;\n }\n }\n }\n }\n\n /** Clears the selected toggles. */\n private _clearSelection() {\n this._selectionModel.clear();\n this._buttonToggles.forEach(toggle => {\n toggle.checked = false;\n // If the button toggle is in single select mode, initialize the tabIndex.\n if (!this.multiple) {\n toggle.tabIndex = -1;\n }\n });\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private _selectValue(value: any, toggles: MatButtonToggle[]) {\n for (const toggle of toggles) {\n if (toggle.value === value) {\n toggle.checked = true;\n this._selectionModel.select(toggle);\n if (!this.multiple) {\n // If the button toggle is in single select mode, reset the tabIndex.\n toggle.tabIndex = 0;\n }\n break;\n }\n }\n }\n\n /** Syncs up the group's value with the model and emits the change event. */\n private _updateModelValue(toggle: MatButtonToggle, isUserInput: boolean) {\n // Only emit the change event for user input.\n if (isUserInput) {\n this._emitChangeEvent(toggle);\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Marks all of the child button toggles to be checked. */\n private _markButtonsForCheck() {\n this._buttonToggles?.forEach(toggle => toggle._markForCheck());\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'mat-button-toggle',\n templateUrl: 'button-toggle.html',\n styleUrl: 'button-toggle.css',\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matButtonToggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.mat-button-toggle-standalone]': '!buttonToggleGroup',\n '[class.mat-button-toggle-checked]': 'checked',\n '[class.mat-button-toggle-disabled]': 'disabled',\n '[class.mat-button-toggle-disabled-interactive]': 'disabledInteractive',\n '[class.mat-button-toggle-appearance-standard]': 'appearance === \"standard\"',\n 'class': 'mat-button-toggle',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.id]': 'id',\n '[attr.name]': 'null',\n '(focus)': 'focus()',\n 'role': 'presentation',\n },\n imports: [MatRipple, MatPseudoCheckbox],\n})\nexport class MatButtonToggle implements OnInit, AfterViewInit, OnDestroy {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _focusMonitor = inject(FocusMonitor);\n private _idGenerator = inject(_IdGenerator);\n private _animationDisabled = _animationsDisabled();\n private _checked = false;\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Underlying native `button` element. */\n @ViewChild('button') _buttonElement: ElementRef<HTMLButtonElement>;\n\n /** The parent button toggle group (exclusive selection). Optional. */\n buttonToggleGroup: MatButtonToggleGroup;\n\n /** Unique ID for the underlying `button` element. */\n get buttonId(): string {\n return `${this.id}-button`;\n }\n\n /** The unique ID for this button toggle. */\n @Input() id: string;\n\n /** HTML's 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** MatButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex of the toggle. */\n @Input()\n get tabIndex(): number | null {\n return this._tabIndex();\n }\n set tabIndex(value: number | null) {\n this._tabIndex.set(value);\n }\n private _tabIndex: WritableSignal<number | null>;\n\n /** Whether ripples are disabled on the button toggle. */\n @Input({transform: booleanAttribute}) disableRipple: boolean;\n\n /** The appearance style of the button. */\n @Input()\n get appearance(): MatButtonToggleAppearance {\n return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;\n }\n set appearance(value: MatButtonToggleAppearance) {\n this._appearance = value;\n }\n private _appearance: MatButtonToggleAppearance;\n\n /** Whether the button is checked. */\n @Input({transform: booleanAttribute})\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\n }\n set checked(value: boolean) {\n if (value !== this._checked) {\n this._checked = value;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\n }\n\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Whether the button is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n private _disabled: boolean = false;\n\n /** Whether the button should remain interactive when it is disabled. */\n @Input({transform: booleanAttribute})\n get disabledInteractive(): boolean {\n return (\n this._disabledInteractive ||\n (this.buttonToggleGroup !== null && this.buttonToggleGroup.disabledInteractive)\n );\n }\n set disabledInteractive(value: boolean) {\n this._disabledInteractive = value;\n }\n private _disabledInteractive: boolean;\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<MatButtonToggleChange> =\n new EventEmitter<MatButtonToggleChange>();\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const toggleGroup = inject<MatButtonToggleGroup>(MAT_BUTTON_TOGGLE_GROUP, {optional: true})!;\n const defaultTabIndex = inject(new HostAttributeToken('tabindex'), {optional: true}) || '';\n const defaultOptions = inject<MatButtonToggleDefaultOptions>(\n MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,\n {optional: true},\n );\n\n this._tabIndex = signal<number | null>(parseInt(defaultTabIndex) || 0);\n this.buttonToggleGroup = toggleGroup;\n this.appearance =\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\n this.disabledInteractive = defaultOptions?.disabledInteractive ?? false;\n }\n\n ngOnInit() {\n const group = this.buttonToggleGroup;\n this.id = this.id || this._idGenerator.getId('mat-button-toggle-');\n\n if (group) {\n if (group._isPrechecked(this)) {\n this.checked = true;\n } else if (group._isSelected(this) !== this._checked) {\n // As side effect of the circular dependency between the toggle group and the button,\n // we may end up in a state where the button is supposed to be checked on init, but it\n // isn't, because the checked value was assigned too early. This can happen when Ivy\n // assigns the static input value before the `ngOnInit` has run.\n group._syncButtonToggle(this, this._checked);\n }\n }\n }\n\n ngAfterViewInit() {\n // This serves two purposes:\n // 1. We don't want the animation to fire on the first render for pre-checked toggles so we\n // delay adding the class until the view is rendered.\n // 2. We don't want to animate if animations are disabled.\n if (!this._animationDisabled) {\n this._elementRef.nativeElement.classList.add('mat-button-toggle-animations-enabled');\n }\n\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this._focusMonitor.stopMonitoring(this._elementRef);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group._isSelected(this)) {\n group._syncButtonToggle(this, false, false, true);\n }\n }\n\n /** Focuses the button. */\n focus(options?: FocusOptions): void {\n this._buttonElement.nativeElement.focus(options);\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n _onButtonClick() {\n if (this.disabled) {\n return;\n }\n\n const newChecked = this.isSingleSelector() ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup._onTouched();\n }\n }\n\n if (this.isSingleSelector()) {\n const focusable = this.buttonToggleGroup._buttonToggles.find(toggle => {\n return toggle.tabIndex === 0;\n });\n // Modify the tabindex attribute of the last focusable button toggle to -1.\n if (focusable) {\n focusable.tabIndex = -1;\n }\n // Modify the tabindex attribute of the presently selected button toggle to 0.\n this.tabIndex = 0;\n }\n\n // Emit a change event when it's the single selector\n this.change.emit(new MatButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this._changeDetectorRef.markForCheck();\n }\n\n /** Gets the name that should be assigned to the inner DOM node. */\n _getButtonName(): string | null {\n if (this.isSingleSelector()) {\n return this.buttonToggleGroup.name;\n }\n return this.name || null;\n }\n\n /** Whether the toggle is in single selection mode. */\n isSingleSelector(): boolean {\n return this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n }\n}\n","<button #button class=\"mat-button-toggle-button mat-focus-indicator\"\n type=\"button\"\n [id]=\"buttonId\"\n [attr.role]=\"isSingleSelector() ? 'radio' : 'button'\"\n [attr.tabindex]=\"disabled && !disabledInteractive ? -1 : tabIndex\"\n [attr.aria-pressed]=\"!isSingleSelector() ? checked : null\"\n [attr.aria-checked]=\"isSingleSelector() ? checked : null\"\n [disabled]=\"(disabled && !disabledInteractive) || null\"\n [attr.name]=\"_getButtonName()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-disabled]=\"disabled && disabledInteractive ? 'true' : null\"\n (click)=\"_onButtonClick()\">\n @if (buttonToggleGroup && (\n !buttonToggleGroup.multiple && !buttonToggleGroup.hideSingleSelectionIndicator ||\n buttonToggleGroup.multiple && !buttonToggleGroup.hideMultipleSelectionIndicator)\n ) {\n <div class=\"mat-button-toggle-checkbox-wrapper\">\n <mat-pseudo-checkbox\n [disabled]=\"disabled\"\n state=\"checked\"\n aria-hidden=\"true\"\n appearance=\"minimal\"/>\n </div>\n }\n\n <span class=\"mat-button-toggle-label-content\">\n <ng-content></ng-content>\n </span>\n</button>\n\n<span class=\"mat-button-toggle-focus-overlay\"></span>\n<span class=\"mat-button-toggle-ripple\" matRipple\n [matRippleTrigger]=\"button\"\n [matRippleDisabled]=\"disableRipple || disabled\">\n</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 {NgModule} from '@angular/core';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {MatRippleModule} from '../core';\nimport {MatButtonToggle, MatButtonToggleGroup} from './button-toggle';\n\n@NgModule({\n imports: [MatRippleModule, MatButtonToggleGroup, MatButtonToggle],\n exports: [BidiModule, MatButtonToggleGroup, MatButtonToggle],\n})\nexport class MatButtonToggleModule {}\n"],"names":["MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","hideSingleSelectionIndicator","hideMultipleSelectionIndicator","disabledInteractive","MAT_BUTTON_TOGGLE_GROUP","MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","MatButtonToggleGroup","multi","MatButtonToggleChange","source","value","constructor","_changeDetector","inject","ChangeDetectorRef","_dir","Directionality","optional","_multiple","_disabled","_disabledInteractive","_selectionModel","_rawValue","_controlValueAccessorChangeFn","_onTouched","_buttonToggles","appearance","name","_name","_markButtonsForCheck","_IdGenerator","getId","vertical","selected","multiple","map","toggle","undefined","newValue","_setSelectionByValue","valueChange","emit","EventEmitter","disabled","dir","change","_hideSingleSelectionIndicator","_hideMultipleSelectionIndicator","defaultOptions","ngOnInit","SelectionModel","ngAfterContentInit","select","filter","checked","_initializeTabIndex","writeValue","markForCheck","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","_keydown","event","hasModifierKey","target","buttonId","id","index","toArray","findIndex","nextButton","keyCode","SPACE","ENTER","get","UP_ARROW","_getNextButton","LEFT_ARROW","DOWN_ARROW","RIGHT_ARROW","preventDefault","_onButtonClick","focus","_emitChangeEvent","_syncButtonToggle","isUserInput","deferEvents","deselect","Promise","resolve","then","_updateModelValue","_isSelected","isSelected","_isPrechecked","Array","isArray","some","forEach","tabIndex","i","length","startIndex","offset","items","item","toggles","ngDevMode","Error","_clearSelection","currentValue","_selectValue","every","clear","_markForCheck","deps","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isStandalone","selector","inputs","booleanAttribute","outputs","host","listeners","properties","classAttribute","providers","queries","propertyName","predicate","MatButtonToggle","descendants","exportAs","ngImport","decorators","args","ContentChildren","Input","transform","Output","_changeDetectorRef","_elementRef","ElementRef","_focusMonitor","FocusMonitor","_idGenerator","_animationDisabled","_animationsDisabled","_checked","ariaLabel","ariaLabelledby","_buttonElement","buttonToggleGroup","_tabIndex","set","disableRipple","_appearance","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","toggleGroup","defaultTabIndex","HostAttributeToken","signal","parseInt","debugName","group","ngAfterViewInit","nativeElement","classList","add","monitor","ngOnDestroy","stopMonitoring","options","newChecked","isSingleSelector","focusable","find","_getButtonName","Component","ɵcmp","ɵɵngDeclareComponent","attributes","viewQueries","first","template","styles","dependencies","kind","MatRipple","MatPseudoCheckbox","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","imports","ViewChild","MatButtonToggleModule","NgModule","MatRippleModule","exports","BidiModule","ɵinj","ɵɵngDeclareInjector"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button-toggle.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button-toggle/button-toggle.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button-toggle/button-toggle.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button-toggle/button-toggle-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 {_IdGenerator, FocusMonitor} from '@angular/cdk/a11y';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {SelectionModel} from '@angular/cdk/collections';\nimport {\n DOWN_ARROW,\n ENTER,\n LEFT_ARROW,\n RIGHT_ARROW,\n SPACE,\n UP_ARROW,\n hasModifierKey,\n} from '@angular/cdk/keycodes';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {\n AfterContentInit,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostAttributeToken,\n inject,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n signal,\n ViewChild,\n ViewEncapsulation,\n WritableSignal,\n} from '@angular/core';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {_animationsDisabled, _StructuralStylesLoader, MatPseudoCheckbox, MatRipple} from '../core';\n\n/**\n * @deprecated No longer used.\n * @breaking-change 11.0.0\n */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/** Possible appearance styles for the button toggle. */\nexport type MatButtonToggleAppearance = 'legacy' | 'standard';\n\n/**\n * Represents the default options for the button toggle that can be configured\n * using the `MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS` injection token.\n */\nexport interface MatButtonToggleDefaultOptions {\n /**\n * Default appearance to be used by button toggles. Can be overridden by explicitly\n * setting an appearance on a button toggle or group.\n */\n appearance?: MatButtonToggleAppearance;\n /** Whether icon indicators should be hidden for single-selection button toggle groups. */\n hideSingleSelectionIndicator?: boolean;\n /** Whether icon indicators should be hidden for multiple-selection button toggle groups. */\n hideMultipleSelectionIndicator?: boolean;\n /** Whether disabled toggle buttons should be interactive. */\n disabledInteractive?: boolean;\n}\n\n/**\n * Injection token that can be used to configure the\n * default options for all button toggles within an app.\n */\nexport const MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS = new InjectionToken<MatButtonToggleDefaultOptions>(\n 'MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS',\n {\n providedIn: 'root',\n factory: () => ({\n hideSingleSelectionIndicator: false,\n hideMultipleSelectionIndicator: false,\n disabledInteractive: false,\n }),\n },\n);\n\n/**\n * Injection token that can be used to reference instances of `MatButtonToggleGroup`.\n * It serves as alternative token to the actual `MatButtonToggleGroup` class which\n * could cause unnecessary retention of the class and its component metadata.\n */\nexport const MAT_BUTTON_TOGGLE_GROUP = new InjectionToken<MatButtonToggleGroup>(\n 'MatButtonToggleGroup',\n);\n\n/**\n * Provider Expression that allows mat-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatButtonToggleGroup),\n multi: true,\n};\n\n/** Change event object emitted by button toggle. */\nexport class MatButtonToggleChange {\n constructor(\n /** The button toggle that emits the event. */\n public source: MatButtonToggle,\n\n /** The value assigned to the button toggle. */\n public value: any,\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'mat-button-toggle-group',\n providers: [\n MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR,\n {provide: MAT_BUTTON_TOGGLE_GROUP, useExisting: MatButtonToggleGroup},\n ],\n host: {\n 'class': 'mat-button-toggle-group',\n '(keydown)': '_keydown($event)',\n '[attr.role]': \"multiple ? 'group' : 'radiogroup'\",\n '[attr.aria-disabled]': 'disabled',\n '[class.mat-button-toggle-vertical]': 'vertical',\n '[class.mat-button-toggle-group-appearance-standard]': 'appearance === \"standard\"',\n },\n exportAs: 'matButtonToggleGroup',\n})\nexport class MatButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n private _changeDetector = inject(ChangeDetectorRef);\n private _dir = inject(Directionality, {optional: true});\n\n private _multiple = false;\n private _disabled = false;\n private _disabledInteractive = false;\n private _selectionModel: SelectionModel<MatButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private _rawValue: any;\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n _controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n _onTouched: () => any = () => {};\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => MatButtonToggle), {\n // Note that this would technically pick up toggles\n // from nested groups, but that's not a case that we support.\n descendants: true,\n })\n _buttonToggles: QueryList<MatButtonToggle>;\n\n /** The appearance for all the buttons in the group. */\n @Input() appearance: MatButtonToggleAppearance;\n\n /** `name` attribute for the underlying `input` element. */\n @Input()\n get name(): string {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n this._markButtonsForCheck();\n }\n private _name = inject(_IdGenerator).getId('mat-button-toggle-group-');\n\n /** Whether the toggle group is vertical. */\n @Input({transform: booleanAttribute}) vertical: boolean;\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map(toggle => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n set value(newValue: any) {\n this._setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Selected button toggles in the group. */\n get selected(): MatButtonToggle | MatButtonToggle[] {\n const selected = this._selectionModel ? this._selectionModel.selected : [];\n return this.multiple ? selected : selected[0] || null;\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input({transform: booleanAttribute})\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._multiple = value;\n this._markButtonsForCheck();\n }\n\n /** Whether multiple button toggle group is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = value;\n this._markButtonsForCheck();\n }\n\n /** Whether buttons in the group should be interactive while they're disabled. */\n @Input({transform: booleanAttribute})\n get disabledInteractive(): boolean {\n return this._disabledInteractive;\n }\n set disabledInteractive(value: boolean) {\n this._disabledInteractive = value;\n this._markButtonsForCheck();\n }\n\n /** The layout direction of the toggle button group. */\n get dir(): Direction {\n return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n }\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<MatButtonToggleChange> =\n new EventEmitter<MatButtonToggleChange>();\n\n /** Whether checkmark indicator for single-selection button toggle groups is hidden. */\n @Input({transform: booleanAttribute})\n get hideSingleSelectionIndicator(): boolean {\n return this._hideSingleSelectionIndicator;\n }\n set hideSingleSelectionIndicator(value: boolean) {\n this._hideSingleSelectionIndicator = value;\n this._markButtonsForCheck();\n }\n private _hideSingleSelectionIndicator: boolean;\n\n /** Whether checkmark indicator for multiple-selection button toggle groups is hidden. */\n @Input({transform: booleanAttribute})\n get hideMultipleSelectionIndicator(): boolean {\n return this._hideMultipleSelectionIndicator;\n }\n set hideMultipleSelectionIndicator(value: boolean) {\n this._hideMultipleSelectionIndicator = value;\n this._markButtonsForCheck();\n }\n private _hideMultipleSelectionIndicator: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n const defaultOptions = inject<MatButtonToggleDefaultOptions>(\n MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,\n {optional: true},\n );\n\n this.appearance =\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\n this.hideSingleSelectionIndicator = defaultOptions?.hideSingleSelectionIndicator ?? false;\n this.hideMultipleSelectionIndicator = defaultOptions?.hideMultipleSelectionIndicator ?? false;\n }\n\n ngOnInit() {\n this._selectionModel = new SelectionModel<MatButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this._selectionModel.select(...this._buttonToggles.filter(toggle => toggle.checked));\n if (!this.multiple) {\n this._initializeTabIndex();\n }\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this._controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this._onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Handle keydown event calling to single-select button toggle. */\n protected _keydown(event: KeyboardEvent) {\n if (this.multiple || this.disabled || hasModifierKey(event)) {\n return;\n }\n\n const target = event.target as HTMLButtonElement;\n const buttonId = target.id;\n const index = this._buttonToggles.toArray().findIndex(toggle => {\n return toggle.buttonId === buttonId;\n });\n\n let nextButton: MatButtonToggle | null = null;\n switch (event.keyCode) {\n case SPACE:\n case ENTER:\n nextButton = this._buttonToggles.get(index) || null;\n break;\n case UP_ARROW:\n nextButton = this._getNextButton(index, -1);\n break;\n case LEFT_ARROW:\n nextButton = this._getNextButton(index, this.dir === 'ltr' ? -1 : 1);\n break;\n case DOWN_ARROW:\n nextButton = this._getNextButton(index, 1);\n break;\n case RIGHT_ARROW:\n nextButton = this._getNextButton(index, this.dir === 'ltr' ? 1 : -1);\n break;\n default:\n return;\n }\n\n if (nextButton) {\n event.preventDefault();\n nextButton._onButtonClick();\n nextButton.focus();\n }\n }\n\n /** Dispatch change event with current selection and group value. */\n _emitChangeEvent(toggle: MatButtonToggle): void {\n const event = new MatButtonToggleChange(toggle, this.value);\n this._rawValue = event.value;\n this._controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n * @param deferEvents Whether to defer emitting the change events.\n */\n _syncButtonToggle(\n toggle: MatButtonToggle,\n select: boolean,\n isUserInput = false,\n deferEvents = false,\n ) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as MatButtonToggle).checked = false;\n }\n\n if (this._selectionModel) {\n if (select) {\n this._selectionModel.select(toggle);\n } else {\n this._selectionModel.deselect(toggle);\n }\n } else {\n deferEvents = true;\n }\n\n // We need to defer in some cases in order to avoid \"changed after checked errors\", however\n // the side-effect is that we may end up updating the model value out of sequence in others\n // The `deferEvents` flag allows us to decide whether to do it on a case-by-case basis.\n if (deferEvents) {\n Promise.resolve().then(() => this._updateModelValue(toggle, isUserInput));\n } else {\n this._updateModelValue(toggle, isUserInput);\n }\n }\n\n /** Checks whether a button toggle is selected. */\n _isSelected(toggle: MatButtonToggle) {\n return this._selectionModel && this._selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n _isPrechecked(toggle: MatButtonToggle) {\n if (typeof this._rawValue === 'undefined') {\n return false;\n }\n\n if (this.multiple && Array.isArray(this._rawValue)) {\n return this._rawValue.some(value => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this._rawValue;\n }\n\n /** Initializes the tabindex attribute using the radio pattern. */\n private _initializeTabIndex() {\n this._buttonToggles.forEach(toggle => {\n toggle.tabIndex = -1;\n });\n if (this.selected) {\n (this.selected as MatButtonToggle).tabIndex = 0;\n } else {\n for (let i = 0; i < this._buttonToggles.length; i++) {\n const toggle = this._buttonToggles.get(i)!;\n\n if (!toggle.disabled) {\n toggle.tabIndex = 0;\n break;\n }\n }\n }\n }\n\n /** Obtain the subsequent toggle to which the focus shifts. */\n private _getNextButton(startIndex: number, offset: number): MatButtonToggle | null {\n const items = this._buttonToggles;\n\n for (let i = 1; i <= items.length; i++) {\n const index = (startIndex + offset * i + items.length) % items.length;\n const item = items.get(index);\n\n if (item && !item.disabled) {\n return item;\n }\n }\n\n return null;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private _setSelectionByValue(value: any | any[]) {\n this._rawValue = value;\n\n if (!this._buttonToggles) {\n return;\n }\n\n const toggles = this._buttonToggles.toArray();\n\n if (this.multiple && value) {\n if (!Array.isArray(value) && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this._clearSelection();\n value.forEach((currentValue: any) => this._selectValue(currentValue, toggles));\n } else {\n this._clearSelection();\n this._selectValue(value, toggles);\n }\n\n // In single selection mode we need at least one enabled toggle to always be focusable.\n if (!this.multiple && toggles.every(toggle => toggle.tabIndex === -1)) {\n for (const toggle of toggles) {\n if (!toggle.disabled) {\n toggle.tabIndex = 0;\n break;\n }\n }\n }\n }\n\n /** Clears the selected toggles. */\n private _clearSelection() {\n this._selectionModel.clear();\n this._buttonToggles.forEach(toggle => {\n toggle.checked = false;\n // If the button toggle is in single select mode, initialize the tabIndex.\n if (!this.multiple) {\n toggle.tabIndex = -1;\n }\n });\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private _selectValue(value: any, toggles: MatButtonToggle[]) {\n for (const toggle of toggles) {\n if (toggle.value === value) {\n toggle.checked = true;\n this._selectionModel.select(toggle);\n if (!this.multiple) {\n // If the button toggle is in single select mode, reset the tabIndex.\n toggle.tabIndex = 0;\n }\n break;\n }\n }\n }\n\n /** Syncs up the group's value with the model and emits the change event. */\n private _updateModelValue(toggle: MatButtonToggle, isUserInput: boolean) {\n // Only emit the change event for user input.\n if (isUserInput) {\n this._emitChangeEvent(toggle);\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Marks all of the child button toggles to be checked. */\n private _markButtonsForCheck() {\n this._buttonToggles?.forEach(toggle => toggle._markForCheck());\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'mat-button-toggle',\n templateUrl: 'button-toggle.html',\n styleUrl: 'button-toggle.css',\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matButtonToggle',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.mat-button-toggle-standalone]': '!buttonToggleGroup',\n '[class.mat-button-toggle-checked]': 'checked',\n '[class.mat-button-toggle-disabled]': 'disabled',\n '[class.mat-button-toggle-disabled-interactive]': 'disabledInteractive',\n '[class.mat-button-toggle-appearance-standard]': 'appearance === \"standard\"',\n 'class': 'mat-button-toggle',\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.id]': 'id',\n '[attr.name]': 'null',\n '(focus)': 'focus()',\n 'role': 'presentation',\n },\n imports: [MatRipple, MatPseudoCheckbox],\n})\nexport class MatButtonToggle implements OnInit, AfterViewInit, OnDestroy {\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _focusMonitor = inject(FocusMonitor);\n private _idGenerator = inject(_IdGenerator);\n private _animationDisabled = _animationsDisabled();\n private _checked = false;\n\n /**\n * Attached to the aria-label attribute of the host element. In most cases, aria-labelledby will\n * take precedence so this may be omitted.\n */\n @Input('aria-label') ariaLabel: string;\n\n /**\n * Users can specify the `aria-labelledby` attribute which will be forwarded to the input element\n */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Underlying native `button` element. */\n @ViewChild('button') _buttonElement: ElementRef<HTMLButtonElement>;\n\n /** The parent button toggle group (exclusive selection). Optional. */\n buttonToggleGroup: MatButtonToggleGroup;\n\n /** Unique ID for the underlying `button` element. */\n get buttonId(): string {\n return `${this.id}-button`;\n }\n\n /** The unique ID for this button toggle. */\n @Input() id: string;\n\n /** HTML's 'name' attribute used to group radios for unique selection. */\n @Input() name: string;\n\n /** MatButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex of the toggle. */\n @Input()\n get tabIndex(): number | null {\n return this._tabIndex();\n }\n set tabIndex(value: number | null) {\n this._tabIndex.set(value);\n }\n private _tabIndex: WritableSignal<number | null>;\n\n /** Whether ripples are disabled on the button toggle. */\n @Input({transform: booleanAttribute}) disableRipple: boolean;\n\n /** The appearance style of the button. */\n @Input()\n get appearance(): MatButtonToggleAppearance {\n return this.buttonToggleGroup ? this.buttonToggleGroup.appearance : this._appearance;\n }\n set appearance(value: MatButtonToggleAppearance) {\n this._appearance = value;\n }\n private _appearance: MatButtonToggleAppearance;\n\n /** Whether the button is checked. */\n @Input({transform: booleanAttribute})\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup._isSelected(this) : this._checked;\n }\n set checked(value: boolean) {\n if (value !== this._checked) {\n this._checked = value;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked);\n }\n\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Whether the button is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n set disabled(value: boolean) {\n this._disabled = value;\n }\n private _disabled: boolean = false;\n\n /** Whether the button should remain interactive when it is disabled. */\n @Input({transform: booleanAttribute})\n get disabledInteractive(): boolean {\n return (\n this._disabledInteractive ||\n (this.buttonToggleGroup !== null && this.buttonToggleGroup.disabledInteractive)\n );\n }\n set disabledInteractive(value: boolean) {\n this._disabledInteractive = value;\n }\n private _disabledInteractive: boolean;\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<MatButtonToggleChange> =\n new EventEmitter<MatButtonToggleChange>();\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const toggleGroup = inject<MatButtonToggleGroup>(MAT_BUTTON_TOGGLE_GROUP, {optional: true})!;\n const defaultTabIndex = inject(new HostAttributeToken('tabindex'), {optional: true}) || '';\n const defaultOptions = inject<MatButtonToggleDefaultOptions>(\n MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS,\n {optional: true},\n );\n\n this._tabIndex = signal<number | null>(parseInt(defaultTabIndex) || 0);\n this.buttonToggleGroup = toggleGroup;\n this.appearance =\n defaultOptions && defaultOptions.appearance ? defaultOptions.appearance : 'standard';\n this.disabledInteractive = defaultOptions?.disabledInteractive ?? false;\n }\n\n ngOnInit() {\n const group = this.buttonToggleGroup;\n this.id = this.id || this._idGenerator.getId('mat-button-toggle-');\n\n if (group) {\n if (group._isPrechecked(this)) {\n this.checked = true;\n } else if (group._isSelected(this) !== this._checked) {\n // As side effect of the circular dependency between the toggle group and the button,\n // we may end up in a state where the button is supposed to be checked on init, but it\n // isn't, because the checked value was assigned too early. This can happen when Ivy\n // assigns the static input value before the `ngOnInit` has run.\n group._syncButtonToggle(this, this._checked);\n }\n }\n }\n\n ngAfterViewInit() {\n // This serves two purposes:\n // 1. We don't want the animation to fire on the first render for pre-checked toggles so we\n // delay adding the class until the view is rendered.\n // 2. We don't want to animate if animations are disabled.\n if (!this._animationDisabled) {\n this._elementRef.nativeElement.classList.add('mat-button-toggle-animations-enabled');\n }\n\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this._focusMonitor.stopMonitoring(this._elementRef);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group._isSelected(this)) {\n group._syncButtonToggle(this, false, false, true);\n }\n }\n\n /** Focuses the button. */\n focus(options?: FocusOptions): void {\n this._buttonElement.nativeElement.focus(options);\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n _onButtonClick() {\n if (this.disabled) {\n return;\n }\n\n const newChecked = this.isSingleSelector() ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup._syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup._onTouched();\n }\n }\n\n if (this.isSingleSelector()) {\n const focusable = this.buttonToggleGroup._buttonToggles.find(toggle => {\n return toggle.tabIndex === 0;\n });\n // Modify the tabindex attribute of the last focusable button toggle to -1.\n if (focusable) {\n focusable.tabIndex = -1;\n }\n // Modify the tabindex attribute of the presently selected button toggle to 0.\n this.tabIndex = 0;\n }\n\n // Emit a change event when it's the single selector\n this.change.emit(new MatButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n _markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this._changeDetectorRef.markForCheck();\n }\n\n /** Gets the name that should be assigned to the inner DOM node. */\n _getButtonName(): string | null {\n if (this.isSingleSelector()) {\n return this.buttonToggleGroup.name;\n }\n return this.name || null;\n }\n\n /** Whether the toggle is in single selection mode. */\n isSingleSelector(): boolean {\n return this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n }\n}\n","<button #button class=\"mat-button-toggle-button mat-focus-indicator\"\n type=\"button\"\n [id]=\"buttonId\"\n [attr.role]=\"isSingleSelector() ? 'radio' : 'button'\"\n [attr.tabindex]=\"disabled && !disabledInteractive ? -1 : tabIndex\"\n [attr.aria-pressed]=\"!isSingleSelector() ? checked : null\"\n [attr.aria-checked]=\"isSingleSelector() ? checked : null\"\n [disabled]=\"(disabled && !disabledInteractive) || null\"\n [attr.name]=\"_getButtonName()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-disabled]=\"disabled && disabledInteractive ? 'true' : null\"\n (click)=\"_onButtonClick()\">\n @if (buttonToggleGroup && (\n !buttonToggleGroup.multiple && !buttonToggleGroup.hideSingleSelectionIndicator ||\n buttonToggleGroup.multiple && !buttonToggleGroup.hideMultipleSelectionIndicator)\n ) {\n <div class=\"mat-button-toggle-checkbox-wrapper\">\n <mat-pseudo-checkbox\n [disabled]=\"disabled\"\n state=\"checked\"\n aria-hidden=\"true\"\n appearance=\"minimal\"/>\n </div>\n }\n\n <span class=\"mat-button-toggle-label-content\">\n <ng-content></ng-content>\n </span>\n</button>\n\n<span class=\"mat-button-toggle-focus-overlay\"></span>\n<span class=\"mat-button-toggle-ripple\" matRipple\n [matRippleTrigger]=\"button\"\n [matRippleDisabled]=\"disableRipple || disabled\">\n</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 {NgModule} from '@angular/core';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {MatRippleModule} from '../core';\nimport {MatButtonToggle, MatButtonToggleGroup} from './button-toggle';\n\n@NgModule({\n imports: [MatRippleModule, MatButtonToggleGroup, MatButtonToggle],\n exports: [BidiModule, MatButtonToggleGroup, MatButtonToggle],\n})\nexport class MatButtonToggleModule {}\n"],"names":["MAT_BUTTON_TOGGLE_DEFAULT_OPTIONS","InjectionToken","providedIn","factory","hideSingleSelectionIndicator","hideMultipleSelectionIndicator","disabledInteractive","MAT_BUTTON_TOGGLE_GROUP","MAT_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","MatButtonToggleGroup","multi","MatButtonToggleChange","source","value","constructor","_changeDetector","inject","ChangeDetectorRef","_dir","Directionality","optional","_multiple","_disabled","_disabledInteractive","_selectionModel","_rawValue","_controlValueAccessorChangeFn","_onTouched","_buttonToggles","appearance","name","_name","_markButtonsForCheck","_IdGenerator","getId","vertical","selected","multiple","map","toggle","undefined","newValue","_setSelectionByValue","valueChange","emit","EventEmitter","disabled","dir","change","_hideSingleSelectionIndicator","_hideMultipleSelectionIndicator","defaultOptions","ngOnInit","SelectionModel","ngAfterContentInit","select","filter","checked","_initializeTabIndex","writeValue","markForCheck","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","_keydown","event","hasModifierKey","target","buttonId","id","index","toArray","findIndex","nextButton","keyCode","SPACE","ENTER","get","UP_ARROW","_getNextButton","LEFT_ARROW","DOWN_ARROW","RIGHT_ARROW","preventDefault","_onButtonClick","focus","_emitChangeEvent","_syncButtonToggle","isUserInput","deferEvents","deselect","Promise","resolve","then","_updateModelValue","_isSelected","isSelected","_isPrechecked","Array","isArray","some","forEach","tabIndex","i","length","startIndex","offset","items","item","toggles","ngDevMode","Error","_clearSelection","currentValue","_selectValue","every","clear","_markForCheck","deps","i0","ɵɵFactoryTarget","Directive","ɵdir","ɵɵngDeclareDirective","minVersion","version","type","isStandalone","selector","inputs","booleanAttribute","outputs","host","listeners","properties","classAttribute","providers","queries","propertyName","predicate","MatButtonToggle","descendants","exportAs","ngImport","decorators","args","ContentChildren","Input","transform","Output","_changeDetectorRef","_elementRef","ElementRef","_focusMonitor","FocusMonitor","_idGenerator","_animationDisabled","_animationsDisabled","_checked","ariaLabel","ariaLabelledby","_buttonElement","buttonToggleGroup","_tabIndex","set","disableRipple","_appearance","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","toggleGroup","defaultTabIndex","HostAttributeToken","signal","parseInt","debugName","group","ngAfterViewInit","nativeElement","classList","add","monitor","ngOnDestroy","stopMonitoring","options","newChecked","isSingleSelector","focusable","find","_getButtonName","Component","ɵcmp","ɵɵngDeclareComponent","attributes","viewQueries","first","template","styles","dependencies","kind","MatRipple","MatPseudoCheckbox","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","imports","ViewChild","MatButtonToggleModule","NgModule","MatRippleModule","exports","BidiModule","ɵinj","ɵɵngDeclareInjector"],"mappings":"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"}
|
package/fesm2022/button.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/button/button.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/button/button.html","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/button/fab.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/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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"}
|
|
1
|
+
{"version":3,"file":"button.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button/button.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button/button.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/button/fab.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card-testing.mjs","sources":["../../../../../
|
|
1
|
+
{"version":3,"file":"card-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/card/testing/card-harness.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 {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {CardHarnessFilters} from './card-harness-filters';\n\n/** Selectors for different sections of the mat-card that can container user content. */\nexport enum MatCardSection {\n HEADER = '.mat-mdc-card-header',\n CONTENT = '.mat-mdc-card-content',\n ACTIONS = '.mat-mdc-card-actions',\n FOOTER = '.mat-mdc-card-footer',\n}\n\n/** Harness for interacting with a mat-card in tests. */\nexport class MatCardHarness extends ContentContainerComponentHarness<MatCardSection> {\n /** The selector for the host element of a `MatCard` instance. */\n static hostSelector = '.mat-mdc-card';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a card with specific attributes.\n * @param options Options for filtering which card instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatCardHarness>(\n this: ComponentHarnessConstructor<T>,\n options: CardHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options)\n .addOption('text', options.text, (harness, text) =>\n HarnessPredicate.stringMatches(harness.getText(), text),\n )\n .addOption('title', options.title, (harness, title) =>\n HarnessPredicate.stringMatches(harness.getTitleText(), title),\n )\n .addOption('subtitle', options.subtitle, (harness, subtitle) =>\n HarnessPredicate.stringMatches(harness.getSubtitleText(), subtitle),\n );\n }\n\n private _title = this.locatorForOptional('.mat-mdc-card-title');\n private _subtitle = this.locatorForOptional('.mat-mdc-card-subtitle');\n\n /** Gets all of the card's content as text. */\n async getText(): Promise<string> {\n return (await this.host()).text();\n }\n\n /** Gets the cards's title text. */\n async getTitleText(): Promise<string> {\n return (await this._title())?.text() ?? '';\n }\n\n /** Gets the cards's subtitle text. */\n async getSubtitleText(): Promise<string> {\n return (await this._subtitle())?.text() ?? '';\n }\n}\n"],"names":["MatCardSection","MatCardHarness","ContentContainerComponentHarness","hostSelector","with","options","HarnessPredicate","addOption","text","harness","stringMatches","getText","title","getTitleText","subtitle","getSubtitleText","_title","locatorForOptional","_subtitle","host"],"mappings":";;IAgBYA;AAAZ,CAAA,UAAYA,cAAc,EAAA;AACxBA,EAAAA,cAAA,CAAA,QAAA,CAAA,GAAA,sBAA+B;AAC/BA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjCA,EAAAA,cAAA,CAAA,SAAA,CAAA,GAAA,uBAAiC;AACjCA,EAAAA,cAAA,CAAA,QAAA,CAAA,GAAA,sBAA+B;AACjC,CAAC,EALWA,cAAc,KAAdA,cAAc,GAKzB,EAAA,CAAA,CAAA;AAGK,MAAOC,cAAe,SAAQC,gCAAgD,CAAA;EAElF,OAAOC,YAAY,GAAG,eAAe;AAOrC,EAAA,OAAOC,IAAIA,CAETC,OAAA,GAA8B,EAAE,EAAA;AAEhC,IAAA,OAAO,IAAIC,gBAAgB,CAAC,IAAI,EAAED,OAAO,CAAA,CACtCE,SAAS,CAAC,MAAM,EAAEF,OAAO,CAACG,IAAI,EAAE,CAACC,OAAO,EAAED,IAAI,KAC7CF,gBAAgB,CAACI,aAAa,CAACD,OAAO,CAACE,OAAO,EAAE,EAAEH,IAAI,CAAC,CAAA,CAExDD,SAAS,CAAC,OAAO,EAAEF,OAAO,CAACO,KAAK,EAAE,CAACH,OAAO,EAAEG,KAAK,KAChDN,gBAAgB,CAACI,aAAa,CAACD,OAAO,CAACI,YAAY,EAAE,EAAED,KAAK,CAAC,CAAA,CAE9DL,SAAS,CAAC,UAAU,EAAEF,OAAO,CAACS,QAAQ,EAAE,CAACL,OAAO,EAAEK,QAAQ,KACzDR,gBAAgB,CAACI,aAAa,CAACD,OAAO,CAACM,eAAe,EAAE,EAAED,QAAQ,CAAC,CACpE;AACL;AAEQE,EAAAA,MAAM,GAAG,IAAI,CAACC,kBAAkB,CAAC,qBAAqB,CAAC;AACvDC,EAAAA,SAAS,GAAG,IAAI,CAACD,kBAAkB,CAAC,wBAAwB,CAAC;EAGrE,MAAMN,OAAOA,GAAA;IACX,OAAO,CAAC,MAAM,IAAI,CAACQ,IAAI,EAAE,EAAEX,IAAI,EAAE;AACnC;EAGA,MAAMK,YAAYA,GAAA;AAChB,IAAA,OAAO,CAAC,MAAM,IAAI,CAACG,MAAM,EAAE,GAAGR,IAAI,EAAE,IAAI,EAAE;AAC5C;EAGA,MAAMO,eAAeA,GAAA;AACnB,IAAA,OAAO,CAAC,MAAM,IAAI,CAACG,SAAS,EAAE,GAAGV,IAAI,EAAE,IAAI,EAAE;AAC/C;;;;;"}
|
package/fesm2022/card.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card.html","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card-title-group.html","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card-header.html","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card-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 {\n ChangeDetectionStrategy,\n Component,\n Directive,\n InjectionToken,\n Input,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\n\nexport type MatCardAppearance = 'outlined' | 'raised' | 'filled';\n\n/** Object that can be used to configure the default options for the card module. */\nexport interface MatCardConfig {\n /** Default appearance for cards. */\n appearance?: MatCardAppearance;\n}\n\n/** Injection token that can be used to provide the default options the card module. */\nexport const MAT_CARD_CONFIG = new InjectionToken<MatCardConfig>('MAT_CARD_CONFIG');\n\n/**\n * Material Design card component. Cards contain content and actions about a single subject.\n * See https://material.io/design/components/cards.html\n *\n * MatCard provides no behaviors, instead serving as a purely visual treatment.\n */\n@Component({\n selector: 'mat-card',\n templateUrl: 'card.html',\n styleUrl: 'card.css',\n host: {\n 'class': 'mat-mdc-card mdc-card',\n '[class.mat-mdc-card-outlined]': 'appearance === \"outlined\"',\n '[class.mdc-card--outlined]': 'appearance === \"outlined\"',\n '[class.mat-mdc-card-filled]': 'appearance === \"filled\"',\n '[class.mdc-card--filled]': 'appearance === \"filled\"',\n },\n exportAs: 'matCard',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatCard {\n @Input() appearance: MatCardAppearance;\n\n constructor(...args: unknown[]);\n\n constructor() {\n const config = inject<MatCardConfig>(MAT_CARD_CONFIG, {optional: true});\n this.appearance = config?.appearance || 'raised';\n }\n}\n\n// TODO(jelbourn): add `MatActionCard`, which is a card that acts like a button (and has a ripple).\n// Supported in MDC with `.mdc-card__primary-action`. Will require additional a11y docs for users.\n\n/**\n * Title of a card, intended for use within `<mat-card>`. This component is an optional\n * convenience for one variety of card title; any custom title element may be used in its place.\n *\n * MatCardTitle provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: `mat-card-title, [mat-card-title], [matCardTitle]`,\n host: {'class': 'mat-mdc-card-title'},\n})\nexport class MatCardTitle {}\n\n/**\n * Container intended to be used within the `<mat-card>` component. Can contain exactly one\n * `<mat-card-title>`, one `<mat-card-subtitle>` and one content image of any size\n * (e.g. `<img matCardLgImage>`).\n */\n@Component({\n selector: 'mat-card-title-group',\n templateUrl: 'card-title-group.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-mdc-card-title-group'},\n})\nexport class MatCardTitleGroup {}\n\n/**\n * Content of a card, intended for use within `<mat-card>`. This component is an optional\n * convenience for use with other convenience elements, such as `<mat-card-title>`; any custom\n * content block element may be used in its place.\n *\n * MatCardContent provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: 'mat-card-content',\n host: {'class': 'mat-mdc-card-content'},\n})\nexport class MatCardContent {}\n\n/**\n * Sub-title of a card, intended for use within `<mat-card>` beneath a `<mat-card-title>`. This\n * component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-title>`.\n *\n * MatCardSubtitle provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: `mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]`,\n host: {'class': 'mat-mdc-card-subtitle'},\n})\nexport class MatCardSubtitle {}\n\n/**\n * Bottom area of a card that contains action buttons, intended for use within `<mat-card>`.\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom action block element may be used in its place.\n *\n * MatCardActions provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: 'mat-card-actions',\n exportAs: 'matCardActions',\n host: {\n 'class': 'mat-mdc-card-actions mdc-card__actions',\n '[class.mat-mdc-card-actions-align-end]': 'align === \"end\"',\n },\n})\nexport class MatCardActions {\n // TODO(jelbourn): deprecate `align` in favor of `actionPosition` or `actionAlignment`\n // as to not conflict with the native `align` attribute.\n\n /** Position of the actions inside the card. */\n @Input() align: 'start' | 'end' = 'start';\n\n // TODO(jelbourn): support `.mdc-card__actions--full-bleed`.\n\n // TODO(jelbourn): support `.mdc-card__action-buttons` and `.mdc-card__action-icons`.\n\n // TODO(jelbourn): figure out how to use `.mdc-card__action`, `.mdc-card__action--button`, and\n // `mdc-card__action--icon`. They're used primarily for positioning, which we might be able to\n // do implicitly.\n}\n\n/**\n * Header region of a card, intended for use within `<mat-card>`. This header captures\n * a card title, subtitle, and avatar. This component is an optional convenience for use with\n * other convenience elements, such as `<mat-card-footer>`; any custom header block element may be\n * used in its place.\n *\n * MatCardHeader provides no behaviors, instead serving as a purely visual treatment.\n */\n@Component({\n selector: 'mat-card-header',\n templateUrl: 'card-header.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-mdc-card-header'},\n})\nexport class MatCardHeader {}\n\n/**\n * Footer area a card, intended for use within `<mat-card>`.\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom footer block element may be used in its place.\n *\n * MatCardFooter provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: 'mat-card-footer',\n host: {'class': 'mat-mdc-card-footer'},\n})\nexport class MatCardFooter {}\n\n// TODO(jelbourn): deprecate the \"image\" selectors to replace with \"media\".\n\n// TODO(jelbourn): support `.mdc-card__media-content`.\n\n/**\n * Primary image content for a card, intended for use within `<mat-card>`. Can be applied to\n * any media element, such as `<img>` or `<picture>`.\n *\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom media element may be used in its place.\n *\n * MatCardImage provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: '[mat-card-image], [matCardImage]',\n host: {'class': 'mat-mdc-card-image mdc-card__media'},\n})\nexport class MatCardImage {\n // TODO(jelbourn): support `.mdc-card__media--square` and `.mdc-card__media--16-9`.\n}\n\n/** Same as `MatCardImage`, but small. */\n@Directive({\n selector: '[mat-card-sm-image], [matCardImageSmall]',\n host: {'class': 'mat-mdc-card-sm-image mdc-card__media'},\n})\nexport class MatCardSmImage {}\n\n/** Same as `MatCardImage`, but medium. */\n@Directive({\n selector: '[mat-card-md-image], [matCardImageMedium]',\n host: {'class': 'mat-mdc-card-md-image mdc-card__media'},\n})\nexport class MatCardMdImage {}\n\n/** Same as `MatCardImage`, but large. */\n@Directive({\n selector: '[mat-card-lg-image], [matCardImageLarge]',\n host: {'class': 'mat-mdc-card-lg-image mdc-card__media'},\n})\nexport class MatCardLgImage {}\n\n/** Same as `MatCardImage`, but extra-large. */\n@Directive({\n selector: '[mat-card-xl-image], [matCardImageXLarge]',\n host: {'class': 'mat-mdc-card-xl-image mdc-card__media'},\n})\nexport class MatCardXlImage {}\n\n/**\n * Avatar image content for a card, intended for use within `<mat-card>`. Can be applied to\n * any media element, such as `<img>` or `<picture>`.\n *\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-title>`; any custom media element may be used in its place.\n *\n * MatCardAvatar provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: '[mat-card-avatar], [matCardAvatar]',\n host: {'class': 'mat-mdc-card-avatar'},\n})\nexport class MatCardAvatar {}\n","<ng-content></ng-content>\n","<div>\n <ng-content\n select=\"mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]\"></ng-content>\n</div>\n<ng-content select=\"[mat-card-image], [matCardImage],\n [mat-card-sm-image], [matCardImageSmall],\n [mat-card-md-image], [matCardImageMedium],\n [mat-card-lg-image], [matCardImageLarge],\n [mat-card-xl-image], [matCardImageXLarge]\"></ng-content>\n<ng-content></ng-content>\n","<ng-content select=\"[mat-card-avatar], [matCardAvatar]\"></ng-content>\n<div class=\"mat-mdc-card-header-text\">\n <ng-content\n select=\"mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]\"></ng-content>\n</div>\n<ng-content></ng-content>\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 {\n MatCard,\n MatCardActions,\n MatCardAvatar,\n MatCardContent,\n MatCardFooter,\n MatCardHeader,\n MatCardImage,\n MatCardLgImage,\n MatCardMdImage,\n MatCardSmImage,\n MatCardSubtitle,\n MatCardTitle,\n MatCardTitleGroup,\n MatCardXlImage,\n} from './card';\n\nconst CARD_DIRECTIVES = [\n MatCard,\n MatCardActions,\n MatCardAvatar,\n MatCardContent,\n MatCardFooter,\n MatCardHeader,\n MatCardImage,\n MatCardLgImage,\n MatCardMdImage,\n MatCardSmImage,\n MatCardSubtitle,\n MatCardTitle,\n MatCardTitleGroup,\n MatCardXlImage,\n];\n\n@NgModule({\n imports: CARD_DIRECTIVES,\n exports: [CARD_DIRECTIVES, BidiModule],\n})\nexport class MatCardModule {}\n"],"names":["MAT_CARD_CONFIG","InjectionToken","MatCard","appearance","constructor","config","inject","optional","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","args","selector","host","exportAs","template","Input","MatCardTitle","Directive","isStandalone","classAttribute","ngImport","MatCardTitleGroup","MatCardContent","MatCardSubtitle","MatCardActions","align","inputs","properties","MatCardHeader","MatCardFooter","MatCardImage","MatCardSmImage","MatCardMdImage","MatCardLgImage","MatCardXlImage","MatCardAvatar","CARD_DIRECTIVES","MatCardModule","NgModule","ɵmod","ɵɵngDeclareNgModule","BidiModule","ɵinj","ɵɵngDeclareInjector","imports","exports"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card-title-group.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card-header.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/card/card-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 {\n ChangeDetectionStrategy,\n Component,\n Directive,\n InjectionToken,\n Input,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\n\nexport type MatCardAppearance = 'outlined' | 'raised' | 'filled';\n\n/** Object that can be used to configure the default options for the card module. */\nexport interface MatCardConfig {\n /** Default appearance for cards. */\n appearance?: MatCardAppearance;\n}\n\n/** Injection token that can be used to provide the default options the card module. */\nexport const MAT_CARD_CONFIG = new InjectionToken<MatCardConfig>('MAT_CARD_CONFIG');\n\n/**\n * Material Design card component. Cards contain content and actions about a single subject.\n * See https://material.io/design/components/cards.html\n *\n * MatCard provides no behaviors, instead serving as a purely visual treatment.\n */\n@Component({\n selector: 'mat-card',\n templateUrl: 'card.html',\n styleUrl: 'card.css',\n host: {\n 'class': 'mat-mdc-card mdc-card',\n '[class.mat-mdc-card-outlined]': 'appearance === \"outlined\"',\n '[class.mdc-card--outlined]': 'appearance === \"outlined\"',\n '[class.mat-mdc-card-filled]': 'appearance === \"filled\"',\n '[class.mdc-card--filled]': 'appearance === \"filled\"',\n },\n exportAs: 'matCard',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatCard {\n @Input() appearance: MatCardAppearance;\n\n constructor(...args: unknown[]);\n\n constructor() {\n const config = inject<MatCardConfig>(MAT_CARD_CONFIG, {optional: true});\n this.appearance = config?.appearance || 'raised';\n }\n}\n\n// TODO(jelbourn): add `MatActionCard`, which is a card that acts like a button (and has a ripple).\n// Supported in MDC with `.mdc-card__primary-action`. Will require additional a11y docs for users.\n\n/**\n * Title of a card, intended for use within `<mat-card>`. This component is an optional\n * convenience for one variety of card title; any custom title element may be used in its place.\n *\n * MatCardTitle provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: `mat-card-title, [mat-card-title], [matCardTitle]`,\n host: {'class': 'mat-mdc-card-title'},\n})\nexport class MatCardTitle {}\n\n/**\n * Container intended to be used within the `<mat-card>` component. Can contain exactly one\n * `<mat-card-title>`, one `<mat-card-subtitle>` and one content image of any size\n * (e.g. `<img matCardLgImage>`).\n */\n@Component({\n selector: 'mat-card-title-group',\n templateUrl: 'card-title-group.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-mdc-card-title-group'},\n})\nexport class MatCardTitleGroup {}\n\n/**\n * Content of a card, intended for use within `<mat-card>`. This component is an optional\n * convenience for use with other convenience elements, such as `<mat-card-title>`; any custom\n * content block element may be used in its place.\n *\n * MatCardContent provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: 'mat-card-content',\n host: {'class': 'mat-mdc-card-content'},\n})\nexport class MatCardContent {}\n\n/**\n * Sub-title of a card, intended for use within `<mat-card>` beneath a `<mat-card-title>`. This\n * component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-title>`.\n *\n * MatCardSubtitle provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: `mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]`,\n host: {'class': 'mat-mdc-card-subtitle'},\n})\nexport class MatCardSubtitle {}\n\n/**\n * Bottom area of a card that contains action buttons, intended for use within `<mat-card>`.\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom action block element may be used in its place.\n *\n * MatCardActions provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: 'mat-card-actions',\n exportAs: 'matCardActions',\n host: {\n 'class': 'mat-mdc-card-actions mdc-card__actions',\n '[class.mat-mdc-card-actions-align-end]': 'align === \"end\"',\n },\n})\nexport class MatCardActions {\n // TODO(jelbourn): deprecate `align` in favor of `actionPosition` or `actionAlignment`\n // as to not conflict with the native `align` attribute.\n\n /** Position of the actions inside the card. */\n @Input() align: 'start' | 'end' = 'start';\n\n // TODO(jelbourn): support `.mdc-card__actions--full-bleed`.\n\n // TODO(jelbourn): support `.mdc-card__action-buttons` and `.mdc-card__action-icons`.\n\n // TODO(jelbourn): figure out how to use `.mdc-card__action`, `.mdc-card__action--button`, and\n // `mdc-card__action--icon`. They're used primarily for positioning, which we might be able to\n // do implicitly.\n}\n\n/**\n * Header region of a card, intended for use within `<mat-card>`. This header captures\n * a card title, subtitle, and avatar. This component is an optional convenience for use with\n * other convenience elements, such as `<mat-card-footer>`; any custom header block element may be\n * used in its place.\n *\n * MatCardHeader provides no behaviors, instead serving as a purely visual treatment.\n */\n@Component({\n selector: 'mat-card-header',\n templateUrl: 'card-header.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'class': 'mat-mdc-card-header'},\n})\nexport class MatCardHeader {}\n\n/**\n * Footer area a card, intended for use within `<mat-card>`.\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom footer block element may be used in its place.\n *\n * MatCardFooter provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: 'mat-card-footer',\n host: {'class': 'mat-mdc-card-footer'},\n})\nexport class MatCardFooter {}\n\n// TODO(jelbourn): deprecate the \"image\" selectors to replace with \"media\".\n\n// TODO(jelbourn): support `.mdc-card__media-content`.\n\n/**\n * Primary image content for a card, intended for use within `<mat-card>`. Can be applied to\n * any media element, such as `<img>` or `<picture>`.\n *\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-content>`; any custom media element may be used in its place.\n *\n * MatCardImage provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: '[mat-card-image], [matCardImage]',\n host: {'class': 'mat-mdc-card-image mdc-card__media'},\n})\nexport class MatCardImage {\n // TODO(jelbourn): support `.mdc-card__media--square` and `.mdc-card__media--16-9`.\n}\n\n/** Same as `MatCardImage`, but small. */\n@Directive({\n selector: '[mat-card-sm-image], [matCardImageSmall]',\n host: {'class': 'mat-mdc-card-sm-image mdc-card__media'},\n})\nexport class MatCardSmImage {}\n\n/** Same as `MatCardImage`, but medium. */\n@Directive({\n selector: '[mat-card-md-image], [matCardImageMedium]',\n host: {'class': 'mat-mdc-card-md-image mdc-card__media'},\n})\nexport class MatCardMdImage {}\n\n/** Same as `MatCardImage`, but large. */\n@Directive({\n selector: '[mat-card-lg-image], [matCardImageLarge]',\n host: {'class': 'mat-mdc-card-lg-image mdc-card__media'},\n})\nexport class MatCardLgImage {}\n\n/** Same as `MatCardImage`, but extra-large. */\n@Directive({\n selector: '[mat-card-xl-image], [matCardImageXLarge]',\n host: {'class': 'mat-mdc-card-xl-image mdc-card__media'},\n})\nexport class MatCardXlImage {}\n\n/**\n * Avatar image content for a card, intended for use within `<mat-card>`. Can be applied to\n * any media element, such as `<img>` or `<picture>`.\n *\n * This component is an optional convenience for use with other convenience elements, such as\n * `<mat-card-title>`; any custom media element may be used in its place.\n *\n * MatCardAvatar provides no behaviors, instead serving as a purely visual treatment.\n */\n@Directive({\n selector: '[mat-card-avatar], [matCardAvatar]',\n host: {'class': 'mat-mdc-card-avatar'},\n})\nexport class MatCardAvatar {}\n","<ng-content></ng-content>\n","<div>\n <ng-content\n select=\"mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]\"></ng-content>\n</div>\n<ng-content select=\"[mat-card-image], [matCardImage],\n [mat-card-sm-image], [matCardImageSmall],\n [mat-card-md-image], [matCardImageMedium],\n [mat-card-lg-image], [matCardImageLarge],\n [mat-card-xl-image], [matCardImageXLarge]\"></ng-content>\n<ng-content></ng-content>\n","<ng-content select=\"[mat-card-avatar], [matCardAvatar]\"></ng-content>\n<div class=\"mat-mdc-card-header-text\">\n <ng-content\n select=\"mat-card-title, mat-card-subtitle,\n [mat-card-title], [mat-card-subtitle],\n [matCardTitle], [matCardSubtitle]\"></ng-content>\n</div>\n<ng-content></ng-content>\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 {\n MatCard,\n MatCardActions,\n MatCardAvatar,\n MatCardContent,\n MatCardFooter,\n MatCardHeader,\n MatCardImage,\n MatCardLgImage,\n MatCardMdImage,\n MatCardSmImage,\n MatCardSubtitle,\n MatCardTitle,\n MatCardTitleGroup,\n MatCardXlImage,\n} from './card';\n\nconst CARD_DIRECTIVES = [\n MatCard,\n MatCardActions,\n MatCardAvatar,\n MatCardContent,\n MatCardFooter,\n MatCardHeader,\n MatCardImage,\n MatCardLgImage,\n MatCardMdImage,\n MatCardSmImage,\n MatCardSubtitle,\n MatCardTitle,\n MatCardTitleGroup,\n MatCardXlImage,\n];\n\n@NgModule({\n imports: CARD_DIRECTIVES,\n exports: [CARD_DIRECTIVES, BidiModule],\n})\nexport class MatCardModule {}\n"],"names":["MAT_CARD_CONFIG","InjectionToken","MatCard","appearance","constructor","config","inject","optional","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","args","selector","host","exportAs","template","Input","MatCardTitle","Directive","isStandalone","classAttribute","ngImport","MatCardTitleGroup","MatCardContent","MatCardSubtitle","MatCardActions","align","inputs","properties","MatCardHeader","MatCardFooter","MatCardImage","MatCardSmImage","MatCardMdImage","MatCardLgImage","MatCardXlImage","MatCardAvatar","CARD_DIRECTIVES","MatCardModule","NgModule","ɵmod","ɵɵngDeclareNgModule","BidiModule","ɵinj","ɵɵngDeclareInjector","imports","exports"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox-testing.mjs","sources":["../../../../../
|
|
1
|
+
{"version":3,"file":"checkbox-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/checkbox/testing/checkbox-harness.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 {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {CheckboxHarnessFilters} from './checkbox-harness-filters';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Harness for interacting with a mat-checkbox in tests. */\nexport class MatCheckboxHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-checkbox';\n\n _input = this.locatorFor('input');\n private _label = this.locatorFor('label');\n private _inputContainer = this.locatorFor('.mdc-checkbox');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a checkbox with specific attributes.\n * @param options Options for narrowing the search:\n * - `selector` finds a checkbox whose host element matches the given selector.\n * - `label` finds a checkbox with specific label text.\n * - `name` finds a checkbox with specific name.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatCheckboxHarness>(\n this: ComponentHarnessConstructor<T>,\n options: CheckboxHarnessFilters = {},\n ): HarnessPredicate<T> {\n return (\n new HarnessPredicate(this, options)\n .addOption('label', options.label, (harness, label) =>\n HarnessPredicate.stringMatches(harness.getLabelText(), label),\n )\n // We want to provide a filter option for \"name\" because the name of the checkbox is\n // only set on the underlying input. This means that it's not possible for developers\n // to retrieve the harness of a specific checkbox with name through a CSS selector.\n .addOption(\n 'name',\n options.name,\n async (harness, name) => (await harness.getName()) === name,\n )\n .addOption(\n 'checked',\n options.checked,\n async (harness, checked) => (await harness.isChecked()) == checked,\n )\n .addOption('disabled', options.disabled, async (harness, disabled) => {\n return (await harness.isDisabled()) === disabled;\n })\n );\n }\n\n /** Whether the checkbox is checked. */\n async isChecked(): Promise<boolean> {\n const checked = (await this._input()).getProperty<boolean>('checked');\n return coerceBooleanProperty(await checked);\n }\n\n /** Whether the checkbox is in an indeterminate state. */\n async isIndeterminate(): Promise<boolean> {\n const indeterminate = (await this._input()).getProperty<string>('indeterminate');\n return coerceBooleanProperty(await indeterminate);\n }\n\n /** Whether the checkbox is disabled. */\n async isDisabled(): Promise<boolean> {\n const input = await this._input();\n const disabled = await input.getAttribute('disabled');\n\n if (disabled !== null) {\n return coerceBooleanProperty(disabled);\n }\n\n return (await input.getAttribute('aria-disabled')) === 'true';\n }\n\n /** Whether the checkbox is required. */\n async isRequired(): Promise<boolean> {\n const required = (await this._input()).getProperty<boolean>('required');\n return coerceBooleanProperty(await required);\n }\n\n /** Whether the checkbox is valid. */\n async isValid(): Promise<boolean> {\n const invalid = (await this.host()).hasClass('ng-invalid');\n return !(await invalid);\n }\n\n /** Gets the checkbox's name. */\n async getName(): Promise<string | null> {\n return (await this._input()).getAttribute('name');\n }\n\n /** Gets the checkbox's value. */\n async getValue(): Promise<string | null> {\n return (await this._input()).getProperty<string | null>('value');\n }\n\n /** Gets the checkbox's aria-label. */\n async getAriaLabel(): Promise<string | null> {\n return (await this._input()).getAttribute('aria-label');\n }\n\n /** Gets the checkbox's aria-labelledby. */\n async getAriaLabelledby(): Promise<string | null> {\n return (await this._input()).getAttribute('aria-labelledby');\n }\n\n /** Gets the checkbox's label text. */\n async getLabelText(): Promise<string> {\n return (await this._label()).text();\n }\n\n /** Focuses the checkbox. */\n async focus(): Promise<void> {\n return (await this._input()).focus();\n }\n\n /** Blurs the checkbox. */\n async blur(): Promise<void> {\n return (await this._input()).blur();\n }\n\n /** Whether the checkbox is focused. */\n async isFocused(): Promise<boolean> {\n return (await this._input()).isFocused();\n }\n\n /**\n * Toggles the checked state of the checkbox.\n *\n * Note: This attempts to toggle the checkbox as a user would, by clicking it. Therefore if you\n * are using `MAT_CHECKBOX_DEFAULT_OPTIONS` to change the behavior on click, calling this method\n * might not have the expected result.\n */\n async toggle(): Promise<void> {\n const elToClick = await ((await this.isDisabled()) ? this._inputContainer() : this._input());\n return elToClick.click();\n }\n\n /**\n * Puts the checkbox in a checked state by toggling it if it is currently unchecked, or doing\n * nothing if it is already checked.\n *\n * Note: This attempts to check the checkbox as a user would, by clicking it. Therefore if you\n * are using `MAT_CHECKBOX_DEFAULT_OPTIONS` to change the behavior on click, calling this method\n * might not have the expected result.\n */\n async check(): Promise<void> {\n if (!(await this.isChecked())) {\n await this.toggle();\n }\n }\n\n /**\n * Puts the checkbox in an unchecked state by toggling it if it is currently checked, or doing\n * nothing if it is already unchecked.\n *\n * Note: This attempts to uncheck the checkbox as a user would, by clicking it. Therefore if you\n * are using `MAT_CHECKBOX_DEFAULT_OPTIONS` to change the behavior on click, calling this method\n * might not have the expected result.\n */\n async uncheck(): Promise<void> {\n if (await this.isChecked()) {\n await this.toggle();\n }\n }\n}\n"],"names":["MatCheckboxHarness","ComponentHarness","hostSelector","_input","locatorFor","_label","_inputContainer","with","options","HarnessPredicate","addOption","label","harness","stringMatches","getLabelText","name","getName","checked","isChecked","disabled","isDisabled","getProperty","coerceBooleanProperty","isIndeterminate","indeterminate","input","getAttribute","isRequired","required","isValid","invalid","host","hasClass","getValue","getAriaLabel","getAriaLabelledby","text","focus","blur","isFocused","toggle","elToClick","click","check","uncheck"],"mappings":"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"}
|