/** * @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 { BooleanInput } from '@angular/cdk/coercion'; import { AfterContentChecked, AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, InjectionToken, NgZone, QueryList, OnDestroy } from '@angular/core'; import { CanColor } 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 */ import * as ɵngcc0 from '@angular/core'; declare const _MatFormFieldBase: import("@angular/material/core/common-behaviors/constructor").Constructor & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor & { new (_elementRef: ElementRef): { _elementRef: ElementRef; }; }; /** Possible appearance styles for the form field. */ export declare type MatFormFieldAppearance = 'legacy' | 'standard' | 'fill' | 'outline'; /** Possible values for the "floatLabel" form-field input. */ export declare type FloatLabelType = 'always' | 'never' | 'auto'; /** * 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; /** * Whether the label for form-fields should by default float `always`, * `never`, or `auto` (only when necessary). */ floatLabel?: FloatLabelType; } /** * 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; /** * Injection token that can be used to inject an instances of `MatFormField`. It serves * as alternative token to the actual `MatFormField` class which would cause unnecessary * retention of the `MatFormField` class and its component metadata. */ export declare const MAT_FORM_FIELD: InjectionToken; /** Container for form controls that applies Material Design styling and behavior. */ export declare class MatFormField extends _MatFormFieldBase implements AfterContentInit, AfterContentChecked, AfterViewInit, OnDestroy, CanColor { private _changeDetectorRef; private _dir; private _defaults; private _platform; private _ngZone; /** * 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 readonly _destroyed; /** The form-field appearance style. */ get appearance(): MatFormFieldAppearance; set appearance(value: MatFormFieldAppearance); _appearance: MatFormFieldAppearance; /** Whether the required marker should be hidden. */ get hideRequiredMarker(): boolean; set hideRequiredMarker(value: 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. */ _shouldAlwaysFloat(): boolean; /** Whether the label can float or not. */ _canLabelFloat(): boolean; /** State of the mat-hint and mat-error animations. */ _subscriptAnimationState: string; /** Text for the form field hint. */ get hintLabel(): string; set hintLabel(value: string); private _hintLabel; readonly _hintLabelId: string; readonly _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. */ get floatLabel(): FloatLabelType; set floatLabel(value: FloatLabelType); private _floatLabel; /** Whether the Angular animations are enabled. */ _animationsEnabled: boolean; /** * @deprecated * @breaking-change 8.0.0 */ underlineRef: ElementRef; _connectionContainerRef: ElementRef; _inputContainerRef: ElementRef; private _label; _controlNonStatic: MatFormFieldControl; _controlStatic: MatFormFieldControl; get _control(): MatFormFieldControl; set _control(value: MatFormFieldControl); private _explicitFormFieldControl; _labelChildNonStatic: MatLabel; _labelChildStatic: MatLabel; _placeholderChild: MatPlaceholder; _errorChildren: QueryList; _hintChildren: QueryList; _prefixChildren: QueryList; _suffixChildren: QueryList; constructor(elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, /** * @deprecated `_labelOptions` parameter no longer being used. To be removed. * @breaking-change 12.0.0 */ _labelOptions: any, _dir: Directionality, _defaults: MatFormFieldDefaultOptions, _platform: Platform, _ngZone: NgZone, _animationMode: string); /** * Gets the id of the label element. If no label is present, returns `null`. */ getLabelId(): string | null; /** * 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 `` alignment specified, with the * attribute being considered as `align="start"`. */ private _validateHints; /** Gets the default float label state. */ private _getDefaultFloatLabelState; /** * 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; /** Checks whether the form field is attached to the DOM. */ private _isAttachedToDOM; static ngAcceptInputType_hideRequiredMarker: BooleanInput; static ɵfac: ɵngcc0.ɵɵFactoryDeclaration; static ɵcmp: ɵngcc0.ɵɵComponentDeclaration; } export {}; //# sourceMappingURL=form-field.d.ts.map