UNPKG

@angular/material

Version:
166 lines (165 loc) 6.95 kB
/** * @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 { Directionality } from '@angular/cdk/bidi'; import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, InjectionToken, NgZone, QueryList, OnDestroy } from '@angular/core'; import { CanColor, CanColorCtor, FloatLabelType, LabelOptions } from '@angular/material/core'; import { MatError } from './error'; import { MatFormFieldControl } from './form-field-control'; import { MatHint } from './hint'; import { MatLabel } from './label'; import { MatPlaceholder } from './placeholder'; import { MatPrefix } from './prefix'; import { MatSuffix } from './suffix'; import { Platform } from '@angular/cdk/platform'; import { NgControl } from '@angular/forms'; /** * Boilerplate for applying mixins to MatFormField. * @docs-private */ declare class MatFormFieldBase { _elementRef: ElementRef; constructor(_elementRef: ElementRef); } /** * Base class to which we're applying the form field mixins. * @docs-private */ declare const _MatFormFieldMixinBase: CanColorCtor & typeof MatFormFieldBase; /** Possible appearance styles for the form field. */ export declare type MatFormFieldAppearance = 'legacy' | 'standard' | 'fill' | 'outline'; /** * Represents the default options for the form field that can be configured * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token. */ export interface MatFormFieldDefaultOptions { appearance?: MatFormFieldAppearance; hideRequiredMarker?: boolean; } /** * Injection token that can be used to configure the * default options for all form field within an app. */ export declare const MAT_FORM_FIELD_DEFAULT_OPTIONS: InjectionToken<MatFormFieldDefaultOptions>; /** Container for form controls that applies Material Design styling and behavior. */ export declare class MatFormField extends _MatFormFieldMixinBase implements AfterContentInit, AfterContentChecked, AfterViewInit, OnDestroy, CanColor { _elementRef: ElementRef; private _changeDetectorRef; private _dir; private _defaults; private _platform; private _ngZone; private _labelOptions; /** * Whether the outline gap needs to be calculated * immediately on the next change detection run. */ private _outlineGapCalculationNeededImmediately; /** Whether the outline gap needs to be calculated next time the zone has stabilized. */ private _outlineGapCalculationNeededOnStable; private _destroyed; /** The form-field appearance style. */ appearance: MatFormFieldAppearance; _appearance: MatFormFieldAppearance; /** Whether the required marker should be hidden. */ hideRequiredMarker: boolean; private _hideRequiredMarker; /** Override for the logic that disables the label animation in certain cases. */ private _showAlwaysAnimate; /** Whether the floating label should always float or not. */ readonly _shouldAlwaysFloat: boolean; /** Whether the label can float or not. */ readonly _canLabelFloat: boolean; /** State of the mat-hint and mat-error animations. */ _subscriptAnimationState: string; /** Text for the form field hint. */ hintLabel: string; private _hintLabel; _hintLabelId: string; _labelId: string; /** * Whether the label should always float, never float or float as the user types. * * Note: only the legacy appearance supports the `never` option. `never` was originally added as a * way to make the floating label emulate the behavior of a standard input placeholder. However * the form field now supports both floating labels and placeholders. Therefore in the non-legacy * appearances the `never` option has been disabled in favor of just using the placeholder. */ floatLabel: FloatLabelType; private _floatLabel; /** Whether the Angular animations are enabled. */ _animationsEnabled: boolean; private _previousDirection; /** * @deprecated * @breaking-change 8.0.0 */ underlineRef: ElementRef; _connectionContainerRef: ElementRef; _inputContainerRef: ElementRef; private _label; _controlNonStatic: MatFormFieldControl<any>; _controlStatic: MatFormFieldControl<any>; _control: MatFormFieldControl<any>; private _explicitFormFieldControl; _labelChildNonStatic: MatLabel; _labelChildStatic: MatLabel; readonly _labelChild: MatLabel; _placeholderChild: MatPlaceholder; _errorChildren: QueryList<MatError>; _hintChildren: QueryList<MatHint>; _prefixChildren: QueryList<MatPrefix>; _suffixChildren: QueryList<MatSuffix>; constructor(_elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, labelOptions: LabelOptions, _dir: Directionality, _defaults: MatFormFieldDefaultOptions, _platform: Platform, _ngZone: NgZone, _animationMode: string); /** * Gets an ElementRef for the element that a overlay attached to the form-field should be * positioned relative to. */ getConnectedOverlayOrigin(): ElementRef; ngAfterContentInit(): void; ngAfterContentChecked(): void; ngAfterViewInit(): void; ngOnDestroy(): void; /** Determines whether a class from the NgControl should be forwarded to the host element. */ _shouldForward(prop: keyof NgControl): boolean; _hasPlaceholder(): boolean; _hasLabel(): boolean; _shouldLabelFloat(): boolean; _hideControlPlaceholder(): boolean; _hasFloatingLabel(): boolean; /** Determines whether to display hints or errors. */ _getDisplayedMessages(): 'error' | 'hint'; /** Animates the placeholder up and locks it in position. */ _animateAndLockLabel(): void; /** * Ensure that there is only one placeholder (either `placeholder` attribute on the child control * or child element with the `mat-placeholder` directive). */ private _validatePlaceholders; /** Does any extra processing that is required when handling the hints. */ private _processHints; /** * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the * attribute being considered as `align="start"`. */ private _validateHints; /** * Sets the list of element IDs that describe the child control. This allows the control to update * its `aria-describedby` attribute accordingly. */ private _syncDescribedByIds; /** Throws an error if the form field's control is missing. */ protected _validateControlChild(): void; /** * Updates the width and position of the gap in the outline. Only relevant for the outline * appearance. */ updateOutlineGap(): void; /** Gets the start end of the rect considering the current directionality. */ private _getStartEnd; } export {};