| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 |
- /**
- * @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(options?: FocusOptions): 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 {};
|