123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- import { FocusableOption, FocusOrigin } from '@angular/cdk/a11y';
- import * as i0 from '@angular/core';
- import { InjectionToken, AfterViewChecked, OnDestroy, ChangeDetectorRef, EventEmitter, ElementRef, QueryList } from '@angular/core';
- import { Subject } from 'rxjs';
- /**
- * Injection token that can be used to reference instances of `MatOptgroup`. It serves as
- * alternative token to the actual `MatOptgroup` class which could cause unnecessary
- * retention of the class and its component metadata.
- */
- declare const MAT_OPTGROUP: InjectionToken<MatOptgroup>;
- /**
- * Component that is used to group instances of `mat-option`.
- */
- declare class MatOptgroup {
- /** Label for the option group. */
- label: string;
- /** whether the option group is disabled. */
- disabled: boolean;
- /** Unique id for the underlying label. */
- _labelId: string;
- /** Whether the group is in inert a11y mode. */
- _inert: boolean;
- constructor(...args: unknown[]);
- static ɵfac: i0.ɵɵFactoryDeclaration<MatOptgroup, never>;
- static ɵcmp: i0.ɵɵComponentDeclaration<MatOptgroup, "mat-optgroup", ["matOptgroup"], { "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*", "mat-option, ng-container"], true, never>;
- static ngAcceptInputType_disabled: unknown;
- }
- /** Event object emitted by MatOption when selected or deselected. */
- declare class MatOptionSelectionChange<T = any> {
- /** Reference to the option that emitted the event. */
- source: MatOption<T>;
- /** Whether the change in the option's value was a result of a user action. */
- isUserInput: boolean;
- constructor(
- /** Reference to the option that emitted the event. */
- source: MatOption<T>,
- /** Whether the change in the option's value was a result of a user action. */
- isUserInput?: boolean);
- }
- /**
- * Single option inside of a `<mat-select>` element.
- */
- declare class MatOption<T = any> implements FocusableOption, AfterViewChecked, OnDestroy {
- private _element;
- _changeDetectorRef: ChangeDetectorRef;
- private _parent;
- group: MatOptgroup | null;
- private _signalDisableRipple;
- private _selected;
- private _active;
- private _disabled;
- private _mostRecentViewValue;
- /** Whether the wrapping component is in multiple selection mode. */
- get multiple(): boolean | null | undefined;
- /** Whether or not the option is currently selected. */
- get selected(): boolean;
- /** The form value of the option. */
- value: T;
- /** The unique ID of the option. */
- id: string;
- /** Whether the option is disabled. */
- get disabled(): boolean;
- set disabled(value: boolean);
- /** Whether ripples for the option are disabled. */
- get disableRipple(): boolean;
- /** Whether to display checkmark for single-selection. */
- get hideSingleSelectionIndicator(): boolean;
- /** Event emitted when the option is selected or deselected. */
- readonly onSelectionChange: EventEmitter<MatOptionSelectionChange<T>>;
- /** Element containing the option's text. */
- _text: ElementRef<HTMLElement> | undefined;
- /** Emits when the state of the option changes and any parents have to be notified. */
- readonly _stateChanges: Subject<void>;
- constructor(...args: unknown[]);
- /**
- * Whether or not the option is currently active and ready to be selected.
- * An active option displays styles as if it is focused, but the
- * focus is actually retained somewhere else. This comes in handy
- * for components like autocomplete where focus must remain on the input.
- */
- get active(): boolean;
- /**
- * The displayed value of the option. It is necessary to show the selected option in the
- * select's trigger.
- */
- get viewValue(): string;
- /** Selects the option. */
- select(emitEvent?: boolean): void;
- /** Deselects the option. */
- deselect(emitEvent?: boolean): void;
- /** Sets focus onto this option. */
- focus(_origin?: FocusOrigin, options?: FocusOptions): void;
- /**
- * This method sets display styles on the option to make it appear
- * active. This is used by the ActiveDescendantKeyManager so key
- * events will display the proper options as active on arrow key events.
- */
- setActiveStyles(): void;
- /**
- * This method removes display styles on the option that made it appear
- * active. This is used by the ActiveDescendantKeyManager so key
- * events will display the proper options as active on arrow key events.
- */
- setInactiveStyles(): void;
- /** Gets the label to be used when determining whether the option should be focused. */
- getLabel(): string;
- /** Ensures the option is selected when activated from the keyboard. */
- _handleKeydown(event: KeyboardEvent): void;
- /**
- * `Selects the option while indicating the selection came from the user. Used to
- * determine if the select's view -> model callback should be invoked.`
- */
- _selectViaInteraction(): void;
- /** Returns the correct tabindex for the option depending on disabled state. */
- _getTabIndex(): string;
- /** Gets the host DOM element. */
- _getHostElement(): HTMLElement;
- ngAfterViewChecked(): void;
- ngOnDestroy(): void;
- /** Emits the selection change event. */
- private _emitSelectionChangeEvent;
- static ɵfac: i0.ɵɵFactoryDeclaration<MatOption<any>, never>;
- static ɵcmp: i0.ɵɵComponentDeclaration<MatOption<any>, "mat-option", ["matOption"], { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "onSelectionChange": "onSelectionChange"; }, never, ["mat-icon", "*"], true, never>;
- static ngAcceptInputType_disabled: unknown;
- }
- /**
- * Counts the amount of option group labels that precede the specified option.
- * @param optionIndex Index of the option at which to start counting.
- * @param options Flat list of all of the options.
- * @param optionGroups Flat list of all of the option groups.
- * @docs-private
- */
- declare function _countGroupLabelsBeforeOption(optionIndex: number, options: QueryList<MatOption>, optionGroups: QueryList<MatOptgroup>): number;
- /**
- * Determines the position to which to scroll a panel in order for an option to be into view.
- * @param optionOffset Offset of the option from the top of the panel.
- * @param optionHeight Height of the options.
- * @param currentScrollPosition Current scroll position of the panel.
- * @param panelHeight Height of the panel.
- * @docs-private
- */
- declare function _getOptionScrollPosition(optionOffset: number, optionHeight: number, currentScrollPosition: number, panelHeight: number): number;
- export { MatOption as M, _countGroupLabelsBeforeOption as _, MatOptgroup as a, MatOptionSelectionChange as b, _getOptionScrollPosition as c, MAT_OPTGROUP as d };
|