| /** |
| * @license |
| * Copyright Google LLC All Rights Reserved. |
| * |
| * Use of this source code is governed by an MIT-style license that can be |
| * found in the LICENSE file at https://angular.io/license |
| */ |
| import { FocusMonitor } from '@angular/cdk/a11y'; |
| import { UniqueSelectionDispatcher } from '@angular/cdk/collections'; |
| import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, OnDestroy, OnInit, QueryList } from '@angular/core'; |
| import { ControlValueAccessor } from '@angular/forms'; |
| import { CanDisableRipple, CanDisableRippleCtor, HasTabIndex, HasTabIndexCtor, ThemePalette } from '@angular/material/core'; |
| export interface MatRadioDefaultOptions { |
| color: ThemePalette; |
| } |
| export declare const MAT_RADIO_DEFAULT_OPTIONS: InjectionToken<MatRadioDefaultOptions>; |
| export declare function MAT_RADIO_DEFAULT_OPTIONS_FACTORY(): MatRadioDefaultOptions; |
| /** |
| * Provider Expression that allows mat-radio-group to register as a ControlValueAccessor. This |
| * allows it to support [(ngModel)] and ngControl. |
| * @docs-private |
| */ |
| export declare const MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR: any; |
| /** Change event object emitted by MatRadio and MatRadioGroup. */ |
| export declare class MatRadioChange { |
| /** The MatRadioButton that emits the change event. */ |
| source: MatRadioButton; |
| /** The value of the MatRadioButton. */ |
| value: any; |
| constructor( |
| /** The MatRadioButton that emits the change event. */ |
| source: MatRadioButton, |
| /** The value of the MatRadioButton. */ |
| value: any); |
| } |
| /** |
| * A group of radio buttons. May contain one or more `<mat-radio-button>` elements. |
| */ |
| export declare class MatRadioGroup implements AfterContentInit, ControlValueAccessor { |
| private _changeDetector; |
| /** Selected value for the radio group. */ |
| private _value; |
| /** The HTML name attribute applied to radio buttons in this group. */ |
| private _name; |
| /** The currently selected radio button. Should match value. */ |
| private _selected; |
| /** Whether the `value` has been set to its initial value. */ |
| private _isInitialized; |
| /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */ |
| private _labelPosition; |
| /** Whether the radio group is disabled. */ |
| private _disabled; |
| /** Whether the radio group is required. */ |
| private _required; |
| /** The method to be called in order to update ngModel */ |
| _controlValueAccessorChangeFn: (value: any) => void; |
| /** |
| * onTouch function registered via registerOnTouch (ControlValueAccessor). |
| * @docs-private |
| */ |
| onTouched: () => any; |
| /** |
| * Event emitted when the group value changes. |
| * Change events are only emitted when the value changes due to user interaction with |
| * a radio button (the same behavior as `<input type-"radio">`). |
| */ |
| readonly change: EventEmitter<MatRadioChange>; |
| /** Child radio buttons. */ |
| _radios: QueryList<MatRadioButton>; |
| /** Theme color for all of the radio buttons in the group. */ |
| color: ThemePalette; |
| /** Name of the radio button group. All radio buttons inside this group will use this name. */ |
| name: string; |
| /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */ |
| labelPosition: 'before' | 'after'; |
| /** |
| * Value for the radio-group. Should equal the value of the selected radio button if there is |
| * a corresponding radio button with a matching value. If there is not such a corresponding |
| * radio button, this value persists to be applied in case a new radio button is added with a |
| * matching value. |
| */ |
| value: any; |
| _checkSelectedRadioButton(): void; |
| /** |
| * The currently selected radio button. If set to a new radio button, the radio group value |
| * will be updated to match the new selected button. |
| */ |
| selected: MatRadioButton | null; |
| /** Whether the radio group is disabled */ |
| disabled: boolean; |
| /** Whether the radio group is required */ |
| required: boolean; |
| constructor(_changeDetector: ChangeDetectorRef); |
| /** |
| * Initialize properties once content children are available. |
| * This allows us to propagate relevant attributes to associated buttons. |
| */ |
| ngAfterContentInit(): void; |
| /** |
| * Mark this group as being "touched" (for ngModel). Meant to be called by the contained |
| * radio buttons upon their blur. |
| */ |
| _touch(): void; |
| private _updateRadioButtonNames; |
| /** Updates the `selected` radio button from the internal _value state. */ |
| private _updateSelectedRadioFromValue; |
| /** Dispatch change event with current selection and group value. */ |
| _emitChangeEvent(): void; |
| _markRadiosForCheck(): void; |
| /** |
| * Sets the model value. Implemented as part of ControlValueAccessor. |
| * @param value |
| */ |
| writeValue(value: any): void; |
| /** |
| * Registers a callback to be triggered when the model value changes. |
| * Implemented as part of ControlValueAccessor. |
| * @param fn Callback to be registered. |
| */ |
| registerOnChange(fn: (value: any) => void): void; |
| /** |
| * Registers a callback to be triggered when the control is touched. |
| * Implemented as part of ControlValueAccessor. |
| * @param fn Callback to be registered. |
| */ |
| registerOnTouched(fn: any): void; |
| /** |
| * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor. |
| * @param isDisabled Whether the control should be disabled. |
| */ |
| setDisabledState(isDisabled: boolean): void; |
| } |
| /** @docs-private */ |
| declare class MatRadioButtonBase { |
| _elementRef: ElementRef; |
| disabled: boolean; |
| constructor(_elementRef: ElementRef); |
| } |
| declare const _MatRadioButtonMixinBase: CanDisableRippleCtor & HasTabIndexCtor & typeof MatRadioButtonBase; |
| /** |
| * A Material design radio-button. Typically placed inside of `<mat-radio-group>` elements. |
| */ |
| export declare class MatRadioButton extends _MatRadioButtonMixinBase implements OnInit, AfterViewInit, OnDestroy, CanDisableRipple, HasTabIndex { |
| private _changeDetector; |
| private _focusMonitor; |
| private _radioDispatcher; |
| _animationMode?: string | undefined; |
| private _providerOverride?; |
| private _uniqueId; |
| /** The unique ID for the radio button. */ |
| id: string; |
| /** Analog to HTML 'name' attribute used to group radios for unique selection. */ |
| name: string; |
| /** Used to set the 'aria-label' attribute on the underlying input element. */ |
| ariaLabel: string; |
| /** The 'aria-labelledby' attribute takes precedence as the element's text alternative. */ |
| ariaLabelledby: string; |
| /** The 'aria-describedby' attribute is read after the element's label and field type. */ |
| ariaDescribedby: string; |
| /** Whether this radio button is checked. */ |
| checked: boolean; |
| /** The value of this radio button. */ |
| value: any; |
| /** Whether the label should appear after or before the radio button. Defaults to 'after' */ |
| labelPosition: 'before' | 'after'; |
| private _labelPosition; |
| /** Whether the radio button is disabled. */ |
| disabled: boolean; |
| /** Whether the radio button is required. */ |
| required: boolean; |
| /** Theme color of the radio button. */ |
| color: ThemePalette; |
| private _color; |
| /** |
| * Event emitted when the checked state of this radio button changes. |
| * Change events are only emitted when the value changes due to user interaction with |
| * the radio button (the same behavior as `<input type-"radio">`). |
| */ |
| readonly change: EventEmitter<MatRadioChange>; |
| /** The parent radio group. May or may not be present. */ |
| radioGroup: MatRadioGroup; |
| /** ID of the native input element inside `<mat-radio-button>` */ |
| readonly inputId: string; |
| /** Whether this radio is checked. */ |
| private _checked; |
| /** Whether this radio is disabled. */ |
| private _disabled; |
| /** Whether this radio is required. */ |
| private _required; |
| /** Value assigned to this radio. */ |
| private _value; |
| /** Unregister function for _radioDispatcher */ |
| private _removeUniqueSelectionListener; |
| /** The native `<input type=radio>` element */ |
| _inputElement: ElementRef<HTMLInputElement>; |
| constructor(radioGroup: MatRadioGroup, elementRef: ElementRef, _changeDetector: ChangeDetectorRef, _focusMonitor: FocusMonitor, _radioDispatcher: UniqueSelectionDispatcher, _animationMode?: string | undefined, _providerOverride?: MatRadioDefaultOptions | undefined); |
| /** Focuses the radio button. */ |
| focus(): void; |
| /** |
| * Marks the radio button as needing checking for change detection. |
| * This method is exposed because the parent radio group will directly |
| * update bound properties of the radio button. |
| */ |
| _markForCheck(): void; |
| ngOnInit(): void; |
| ngAfterViewInit(): void; |
| ngOnDestroy(): void; |
| /** Dispatch change event with current value. */ |
| private _emitChangeEvent; |
| _isRippleDisabled(): boolean; |
| _onInputClick(event: Event): void; |
| /** |
| * Triggered when the radio button received a click or the input recognized any change. |
| * Clicking on a label element, will trigger a change event on the associated input. |
| */ |
| _onInputChange(event: Event): void; |
| } |
| export {}; |