source: trip-planner-front/node_modules/@angular/material/__ivy_ngcc__/fesm2015/form-field.js.map@ fa375fe

Last change on this file since fa375fe was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 51.7 KB
RevLine 
[6a3a178]1{"version":3,"file":"form-field.js","sources":["../../../../../../src/material/form-field/error.ts","../../../../../../src/material/form-field/form-field-animations.ts","../../../../../../src/material/form-field/form-field-control.ts","../../../../../../src/material/form-field/form-field-errors.ts","../../../../../../src/material/form-field/hint.ts","../../../../../../src/material/form-field/label.ts","../../../../../../src/material/form-field/placeholder.ts","../../../../../../src/material/form-field/prefix.ts","../../../../../../src/material/form-field/suffix.ts","../../../../../../src/material/form-field/form-field.ts","../../../../../../src/material/form-field/form-field-module.ts","../../../../../../src/material/form-field/public-api.ts","../../../../../../src/material/form-field/index.ts"],"names":["nextUniqueId"],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Attribute, Directive, ElementRef, InjectionToken, Input} from '@angular/core';\n\nlet nextUniqueId = 0;\n\n/**\n * Injection token that can be used to reference instances of `MatError`. It serves as\n * alternative token to the actual `MatError` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_ERROR = new InjectionToken<MatError>('MatError');\n\n/** Single error message to be shown underneath the form field. */\n@Directive({\n selector: 'mat-error',\n host: {\n 'class': 'mat-error',\n '[attr.id]': 'id',\n 'aria-atomic': 'true',\n },\n providers: [{provide: MAT_ERROR, useExisting: MatError}],\n})\nexport class MatError {\n @Input() id: string = `mat-error-${nextUniqueId++}`;\n\n constructor(@Attribute('aria-live') ariaLive: string, elementRef: ElementRef) {\n // If no aria-live value is set add 'polite' as a default. This is preferred over setting\n // role='alert' so that screen readers do not interrupt the current task to read this aloud.\n if (!ariaLive) {\n elementRef.nativeElement.setAttribute('aria-live', 'polite');\n }\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\n/**\n * Animations used by the MatFormField.\n * @docs-private\n */\nexport const matFormFieldAnimations: {\n readonly transitionMessages: AnimationTriggerMetadata\n} = {\n /** Animation that transitions the form field's error and hint messages. */\n transitionMessages: trigger('transitionMessages', [\n // TODO(mmalerba): Use angular animations for label animation as well.\n state('enter', style({ opacity: 1, transform: 'translateY(0%)' })),\n transition('void => enter', [\n style({ opacity: 0, transform: 'translateY(-5px)' }),\n animate('300ms cubic-bezier(0.55, 0, 0.55, 0.2)'),\n ]),\n ])\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs';\nimport {NgControl} from '@angular/forms';\nimport {Directive} from '@angular/core';\n\n\n/** An interface which allows a control to work inside of a `MatFormField`. */\n@Directive()\nexport abstract class MatFormFieldControl<T> {\n /** The value of the control. */\n value: T | null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MatFormField`\n * needs to run change detection.\n */\n readonly stateChanges: Observable<void>;\n\n /** The element ID for this control. */\n readonly id: string;\n\n /** The placeholder for this control. */\n readonly placeholder: string;\n\n /** Gets the NgControl for this control. */\n readonly ngControl: NgControl | null;\n\n /** Whether the control is focused. */\n readonly focused: boolean;\n\n /** Whether the control is empty. */\n readonly empty: boolean;\n\n /** Whether the `MatFormField` label should try to float. */\n readonly shouldLabelFloat: boolean;\n\n /** Whether the control is required. */\n readonly required: boolean;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean;\n\n /**\n * An optional name for the control type that can be used to distinguish `mat-form-field` elements\n * based on their control type. The form field will add a class,\n * `mat-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /**\n * Whether the input is currently in an autofilled state. If property is not present on the\n * control it is assumed to be false.\n */\n readonly autofilled?: boolean;\n\n /**\n * Value of `aria-describedby` that should be merged with the described-by ids\n * which are set by the form-field.\n */\n readonly userAriaDescribedBy?: string;\n\n /** Sets the list of element IDs that currently describe this control. */\n abstract setDescribedByIds(ids: string[]): void;\n\n /** Handles a click on the control's container. */\n abstract onContainerClick(event: MouseEvent): void;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** @docs-private */\nexport function getMatFormFieldPlaceholderConflictError(): Error {\n return Error('Placeholder attribute and child element were both specified.');\n}\n\n/** @docs-private */\nexport function getMatFormFieldDuplicatedHintError(align: string): Error {\n return Error(`A hint was already declared for 'align=\"${align}\"'.`);\n}\n\n/** @docs-private */\nexport function getMatFormFieldMissingControlError(): Error {\n return Error('mat-form-field must contain a MatFormFieldControl.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, InjectionToken, Input} from '@angular/core';\n\nlet nextUniqueId = 0;\n\n/**\n * Injection token that can be used to reference instances of `MatHint`. It serves as\n * alternative token to the actual `MatHint` class which could cause unnecessary\n * retention of the class and its directive metadata.\n *\n * *Note*: This is not part of the public API as the MDC-based form-field will not\n * need a lightweight token for `MatHint` and we want to reduce breaking changes.\n */\nexport const _MAT_HINT = new InjectionToken<MatHint>('MatHint');\n\n/** Hint text to be shown underneath the form field control. */\n@Directive({\n selector: 'mat-hint',\n host: {\n 'class': 'mat-hint',\n '[class.mat-form-field-hint-end]': 'align === \"end\"',\n '[attr.id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null',\n },\n providers: [{provide: _MAT_HINT, useExisting: MatHint}],\n})\nexport class MatHint {\n /** Whether to align the hint label at the start or end of the line. */\n @Input() align: 'start' | 'end' = 'start';\n\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n @Input() id: string = `mat-hint-${nextUniqueId++}`;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n\n/** The floating label for a `mat-form-field`. */\n@Directive({\n selector: 'mat-label'\n})\nexport class MatLabel {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive} from '@angular/core';\n\n\n/**\n * The placeholder text for an `MatFormField`.\n * @deprecated Use `<mat-label>` to specify the label and the `placeholder` attribute to specify the\n * placeholder.\n * @breaking-change 8.0.0\n */\n@Directive({\n selector: 'mat-placeholder'\n})\nexport class MatPlaceholder {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, InjectionToken} from '@angular/core';\n\n/**\n * Injection token that can be used to reference instances of `MatPrefix`. It serves as\n * alternative token to the actual `MatPrefix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_PREFIX = new InjectionToken<MatPrefix>('MatPrefix');\n\n/** Prefix to be placed in front of the form field. */\n@Directive({\n selector: '[matPrefix]',\n providers: [{provide: MAT_PREFIX, useExisting: MatPrefix}],\n})\nexport class MatPrefix {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, InjectionToken} from '@angular/core';\n\n/**\n * Injection token that can be used to reference instances of `MatSuffix`. It serves as\n * alternative token to the actual `MatSuffix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_SUFFIX = new InjectionToken<MatSuffix>('MatSuffix');\n\n/** Suffix to be placed at the end of the form field. */\n@Directive({\n selector: '[matSuffix]',\n providers: [{provide: MAT_SUFFIX, useExisting: MatSuffix}],\n})\nexport class MatSuffix {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directionality} from '@angular/cdk/bidi';\nimport {BooleanInput, coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {\n AfterContentChecked,\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n Inject,\n InjectionToken,\n Input,\n NgZone,\n Optional,\n QueryList,\n ViewChild,\n ViewEncapsulation,\n OnDestroy,\n} from '@angular/core';\nimport {\n CanColor,\n mixinColor,\n} from '@angular/material/core';\nimport {fromEvent, merge, Subject} from 'rxjs';\nimport {startWith, take, takeUntil} from 'rxjs/operators';\nimport {MAT_ERROR, MatError} from './error';\nimport {matFormFieldAnimations} from './form-field-animations';\nimport {MatFormFieldControl} from './form-field-control';\nimport {\n getMatFormFieldDuplicatedHintError,\n getMatFormFieldMissingControlError,\n getMatFormFieldPlaceholderConflictError,\n} from './form-field-errors';\nimport {_MAT_HINT, MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MAT_PREFIX, MatPrefix} from './prefix';\nimport {MAT_SUFFIX, MatSuffix} from './suffix';\nimport {Platform} from '@angular/cdk/platform';\nimport {NgControl} from '@angular/forms';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\n\n\nlet nextUniqueId = 0;\nconst floatingLabelScale = 0.75;\nconst outlineGapPadding = 5;\n\n\n/**\n * Boilerplate for applying mixins to MatFormField.\n * @docs-private\n */\nconst _MatFormFieldBase = mixinColor(class {\n constructor(public _elementRef: ElementRef) {}\n}, 'primary');\n\n/** Possible appearance styles for the form field. */\nexport type MatFormFieldAppearance = 'legacy' | 'standard' | 'fill' | 'outline';\n\n/** Possible values for the \"floatLabel\" form-field input. */\nexport type FloatLabelType = 'always' | 'never' | 'auto';\n\n/**\n * Represents the default options for the form field that can be configured\n * using the `MAT_FORM_FIELD_DEFAULT_OPTIONS` injection token.\n */\nexport interface MatFormFieldDefaultOptions {\n appearance?: MatFormFieldAppearance;\n hideRequiredMarker?: boolean;\n /**\n * Whether the label for form-fields should by default float `always`,\n * `never`, or `auto` (only when necessary).\n */\n floatLabel?: FloatLabelType;\n}\n\n/**\n * Injection token that can be used to configure the\n * default options for all form field within an app.\n */\nexport const MAT_FORM_FIELD_DEFAULT_OPTIONS =\n new InjectionToken<MatFormFieldDefaultOptions>('MAT_FORM_FIELD_DEFAULT_OPTIONS');\n\n/**\n * Injection token that can be used to inject an instances of `MatFormField`. It serves\n * as alternative token to the actual `MatFormField` class which would cause unnecessary\n * retention of the `MatFormField` class and its component metadata.\n */\nexport const MAT_FORM_FIELD = new InjectionToken<MatFormField>('MatFormField');\n\n/** Container for form controls that applies Material Design styling and behavior. */\n@Component({\n selector: 'mat-form-field',\n exportAs: 'matFormField',\n templateUrl: 'form-field.html',\n // MatInput is a directive and can't have styles, so we need to include its styles here\n // in form-field-input.css. The MatInput styles are fairly minimal so it shouldn't be a\n // big deal for people who aren't using MatInput.\n styleUrls: [\n 'form-field.css',\n 'form-field-fill.css',\n 'form-field-input.css',\n 'form-field-legacy.css',\n 'form-field-outline.css',\n 'form-field-standard.css',\n ],\n animations: [matFormFieldAnimations.transitionMessages],\n host: {\n 'class': 'mat-form-field',\n '[class.mat-form-field-appearance-standard]': 'appearance == \"standard\"',\n '[class.mat-form-field-appearance-fill]': 'appearance == \"fill\"',\n '[class.mat-form-field-appearance-outline]': 'appearance == \"outline\"',\n '[class.mat-form-field-appearance-legacy]': 'appearance == \"legacy\"',\n '[class.mat-form-field-invalid]': '_control.errorState',\n '[class.mat-form-field-can-float]': '_canLabelFloat()',\n '[class.mat-form-field-should-float]': '_shouldLabelFloat()',\n '[class.mat-form-field-has-label]': '_hasFloatingLabel()',\n '[class.mat-form-field-hide-placeholder]': '_hideControlPlaceholder()',\n '[class.mat-form-field-disabled]': '_control.disabled',\n '[class.mat-form-field-autofilled]': '_control.autofilled',\n '[class.mat-focused]': '_control.focused',\n '[class.ng-untouched]': '_shouldForward(\"untouched\")',\n '[class.ng-touched]': '_shouldForward(\"touched\")',\n '[class.ng-pristine]': '_shouldForward(\"pristine\")',\n '[class.ng-dirty]': '_shouldForward(\"dirty\")',\n '[class.ng-valid]': '_shouldForward(\"valid\")',\n '[class.ng-invalid]': '_shouldForward(\"invalid\")',\n '[class.ng-pending]': '_shouldForward(\"pending\")',\n '[class._mat-animation-noopable]': '!_animationsEnabled',\n },\n inputs: ['color'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {provide: MAT_FORM_FIELD, useExisting: MatFormField},\n ]\n})\n\nexport class MatFormField extends _MatFormFieldBase\n implements AfterContentInit, AfterContentChecked, AfterViewInit, OnDestroy, CanColor {\n\n /**\n * Whether the outline gap needs to be calculated\n * immediately on the next change detection run.\n */\n private _outlineGapCalculationNeededImmediately = false;\n\n /** Whether the outline gap needs to be calculated next time the zone has stabilized. */\n private _outlineGapCalculationNeededOnStable = false;\n\n private readonly _destroyed = new Subject<void>();\n\n /** The form-field appearance style. */\n @Input()\n get appearance(): MatFormFieldAppearance { return this._appearance; }\n set appearance(value: MatFormFieldAppearance) {\n const oldValue = this._appearance;\n\n this._appearance = value || (this._defaults && this._defaults.appearance) || 'legacy';\n\n if (this._appearance === 'outline' && oldValue !== value) {\n this._outlineGapCalculationNeededOnStable = true;\n }\n }\n _appearance: MatFormFieldAppearance;\n\n /** Whether the required marker should be hidden. */\n @Input()\n get hideRequiredMarker(): boolean { return this._hideRequiredMarker; }\n set hideRequiredMarker(value: boolean) {\n this._hideRequiredMarker = coerceBooleanProperty(value);\n }\n private _hideRequiredMarker: boolean;\n\n /** Override for the logic that disables the label animation in certain cases. */\n private _showAlwaysAnimate = false;\n\n /** Whether the floating label should always float or not. */\n _shouldAlwaysFloat(): boolean {\n return this.floatLabel === 'always' && !this._showAlwaysAnimate;\n }\n\n /** Whether the label can float or not. */\n _canLabelFloat(): boolean { return this.floatLabel !== 'never'; }\n\n /** State of the mat-hint and mat-error animations. */\n _subscriptAnimationState: string = '';\n\n /** Text for the form field hint. */\n @Input()\n get hintLabel(): string { return this._hintLabel; }\n set hintLabel(value: string) {\n this._hintLabel = value;\n this._processHints();\n }\n private _hintLabel = '';\n\n // Unique id for the hint label.\n readonly _hintLabelId: string = `mat-hint-${nextUniqueId++}`;\n\n // Unique id for the label element.\n readonly _labelId = `mat-form-field-label-${nextUniqueId++}`;\n\n /**\n * Whether the label should always float, never float or float as the user types.\n *\n * Note: only the legacy appearance supports the `never` option. `never` was originally added as a\n * way to make the floating label emulate the behavior of a standard input placeholder. However\n * the form field now supports both floating labels and placeholders. Therefore in the non-legacy\n * appearances the `never` option has been disabled in favor of just using the placeholder.\n */\n @Input()\n get floatLabel(): FloatLabelType {\n return this.appearance !== 'legacy' && this._floatLabel === 'never' ? 'auto' : this._floatLabel;\n }\n set floatLabel(value: FloatLabelType) {\n if (value !== this._floatLabel) {\n this._floatLabel = value || this._getDefaultFloatLabelState();\n this._changeDetectorRef.markForCheck();\n }\n }\n private _floatLabel: FloatLabelType;\n\n /** Whether the Angular animations are enabled. */\n _animationsEnabled: boolean;\n\n /**\n * @deprecated\n * @breaking-change 8.0.0\n */\n @ViewChild('underline') underlineRef: ElementRef;\n\n @ViewChild('connectionContainer', {static: true}) _connectionContainerRef: ElementRef;\n @ViewChild('inputContainer') _inputContainerRef: ElementRef;\n @ViewChild('label') private _label: ElementRef<HTMLElement>;\n\n @ContentChild(MatFormFieldControl) _controlNonStatic: MatFormFieldControl<any>;\n @ContentChild(MatFormFieldControl, {static: true}) _controlStatic: MatFormFieldControl<any>;\n get _control() {\n // TODO(crisbeto): we need this workaround in order to support both Ivy and ViewEngine.\n // We should clean this up once Ivy is the default renderer.\n return this._explicitFormFieldControl || this._controlNonStatic || this._controlStatic;\n }\n set _control(value) {\n this._explicitFormFieldControl = value;\n }\n private _explicitFormFieldControl: MatFormFieldControl<any>;\n\n @ContentChild(MatLabel) _labelChildNonStatic: MatLabel;\n @ContentChild(MatLabel, {static: true}) _labelChildStatic: MatLabel;\n @ContentChild(MatPlaceholder) _placeholderChild: MatPlaceholder;\n\n @ContentChildren(MAT_ERROR, {descendants: true}) _errorChildren: QueryList<MatError>;\n @ContentChildren(_MAT_HINT, {descendants: true}) _hintChildren: QueryList<MatHint>;\n @ContentChildren(MAT_PREFIX, {descendants: true}) _prefixChildren: QueryList<MatPrefix>;\n @ContentChildren(MAT_SUFFIX, {descendants: true}) _suffixChildren: QueryList<MatSuffix>;\n\n constructor(\n elementRef: ElementRef, private _changeDetectorRef: ChangeDetectorRef,\n /**\n * @deprecated `_labelOptions` parameter no longer being used. To be removed.\n * @breaking-change 12.0.0\n */\n @Inject(ElementRef)\n // Use `ElementRef` here so Angular has something to inject.\n _labelOptions: any,\n @Optional() private _dir: Directionality,\n @Optional() @Inject(MAT_FORM_FIELD_DEFAULT_OPTIONS) private _defaults:\n MatFormFieldDefaultOptions, private _platform: Platform, private _ngZone: NgZone,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) _animationMode: string) {\n super(elementRef);\n\n this.floatLabel = this._getDefaultFloatLabelState();\n this._animationsEnabled = _animationMode !== 'NoopAnimations';\n\n // Set the default through here so we invoke the setter on the first run.\n this.appearance = (_defaults && _defaults.appearance) ? _defaults.appearance : 'legacy';\n this._hideRequiredMarker = (_defaults && _defaults.hideRequiredMarker != null) ?\n _defaults.hideRequiredMarker : false;\n }\n\n /**\n * Gets the id of the label element. If no label is present, returns `null`.\n */\n getLabelId(): string|null {\n return this._hasFloatingLabel() ? this._labelId : null;\n }\n\n /**\n * Gets an ElementRef for the element that a overlay attached to the form-field should be\n * positioned relative to.\n */\n getConnectedOverlayOrigin(): ElementRef {\n return this._connectionContainerRef || this._elementRef;\n }\n\n ngAfterContentInit() {\n this._validateControlChild();\n\n const control = this._control;\n\n if (control.controlType) {\n this._elementRef.nativeElement.classList.add(`mat-form-field-type-${control.controlType}`);\n }\n\n // Subscribe to changes in the child control state in order to update the form field UI.\n control.stateChanges.pipe(startWith(null)).subscribe(() => {\n this._validatePlaceholders();\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n // Run change detection if the value changes.\n if (control.ngControl && control.ngControl.valueChanges) {\n control.ngControl.valueChanges\n .pipe(takeUntil(this._destroyed))\n .subscribe(() => this._changeDetectorRef.markForCheck());\n }\n\n // Note that we have to run outside of the `NgZone` explicitly,\n // in order to avoid throwing users into an infinite loop\n // if `zone-patch-rxjs` is included.\n this._ngZone.runOutsideAngular(() => {\n this._ngZone.onStable.pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (this._outlineGapCalculationNeededOnStable) {\n this.updateOutlineGap();\n }\n });\n });\n\n // Run change detection and update the outline if the suffix or prefix changes.\n merge(this._prefixChildren.changes, this._suffixChildren.changes).subscribe(() => {\n this._outlineGapCalculationNeededOnStable = true;\n this._changeDetectorRef.markForCheck();\n });\n\n // Re-validate when the number of hints changes.\n this._hintChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._processHints();\n this._changeDetectorRef.markForCheck();\n });\n\n // Update the aria-described by when the number of errors changes.\n this._errorChildren.changes.pipe(startWith(null)).subscribe(() => {\n this._syncDescribedByIds();\n this._changeDetectorRef.markForCheck();\n });\n\n if (this._dir) {\n this._dir.change.pipe(takeUntil(this._destroyed)).subscribe(() => {\n if (typeof requestAnimationFrame === 'function') {\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => this.updateOutlineGap());\n });\n } else {\n this.updateOutlineGap();\n }\n });\n }\n }\n\n ngAfterContentChecked() {\n this._validateControlChild();\n if (this._outlineGapCalculationNeededImmediately) {\n this.updateOutlineGap();\n }\n }\n\n ngAfterViewInit() {\n // Avoid animations on load.\n this._subscriptAnimationState = 'enter';\n this._changeDetectorRef.detectChanges();\n }\n\n ngOnDestroy() {\n this._destroyed.next();\n this._destroyed.complete();\n }\n\n /** Determines whether a class from the NgControl should be forwarded to the host element. */\n _shouldForward(prop: keyof NgControl): boolean {\n const ngControl = this._control ? this._control.ngControl : null;\n return ngControl && ngControl[prop];\n }\n\n _hasPlaceholder() {\n return !!(this._control && this._control.placeholder || this._placeholderChild);\n }\n\n _hasLabel() {\n return !!(this._labelChildNonStatic || this._labelChildStatic);\n }\n\n _shouldLabelFloat() {\n return this._canLabelFloat() &&\n ((this._control && this._control.shouldLabelFloat) || this._shouldAlwaysFloat());\n }\n\n _hideControlPlaceholder() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this.appearance === 'legacy' && !this._hasLabel() ||\n this._hasLabel() && !this._shouldLabelFloat();\n }\n\n _hasFloatingLabel() {\n // In the legacy appearance the placeholder is promoted to a label if no label is given.\n return this._hasLabel() || this.appearance === 'legacy' && this._hasPlaceholder();\n }\n\n /** Determines whether to display hints or errors. */\n _getDisplayedMessages(): 'error' | 'hint' {\n return (this._errorChildren && this._errorChildren.length > 0 &&\n this._control.errorState) ? 'error' : 'hint';\n }\n\n /** Animates the placeholder up and locks it in position. */\n _animateAndLockLabel(): void {\n if (this._hasFloatingLabel() && this._canLabelFloat()) {\n // If animations are disabled, we shouldn't go in here,\n // because the `transitionend` will never fire.\n if (this._animationsEnabled && this._label) {\n this._showAlwaysAnimate = true;\n\n fromEvent(this._label.nativeElement, 'transitionend').pipe(take(1)).subscribe(() => {\n this._showAlwaysAnimate = false;\n });\n }\n\n this.floatLabel = 'always';\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * Ensure that there is only one placeholder (either `placeholder` attribute on the child control\n * or child element with the `mat-placeholder` directive).\n */\n private _validatePlaceholders() {\n if (this._control.placeholder && this._placeholderChild &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatFormFieldPlaceholderConflictError();\n }\n }\n\n /** Does any extra processing that is required when handling the hints. */\n private _processHints() {\n this._validateHints();\n this._syncDescribedByIds();\n }\n\n /**\n * Ensure that there is a maximum of one of each `<mat-hint>` alignment specified, with the\n * attribute being considered as `align=\"start\"`.\n */\n private _validateHints() {\n if (this._hintChildren && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n let startHint: MatHint;\n let endHint: MatHint;\n this._hintChildren.forEach((hint: MatHint) => {\n if (hint.align === 'start') {\n if (startHint || this.hintLabel) {\n throw getMatFormFieldDuplicatedHintError('start');\n }\n startHint = hint;\n } else if (hint.align === 'end') {\n if (endHint) {\n throw getMatFormFieldDuplicatedHintError('end');\n }\n endHint = hint;\n }\n });\n }\n }\n\n /** Gets the default float label state. */\n private _getDefaultFloatLabelState(): FloatLabelType {\n return (this._defaults && this._defaults.floatLabel) || 'auto';\n }\n\n /**\n * Sets the list of element IDs that describe the child control. This allows the control to update\n * its `aria-describedby` attribute accordingly.\n */\n private _syncDescribedByIds() {\n if (this._control) {\n let ids: string[] = [];\n\n // TODO(wagnermaciel): Remove the type check when we find the root cause of this bug.\n if (this._control.userAriaDescribedBy &&\n typeof this._control.userAriaDescribedBy === 'string') {\n ids.push(...this._control.userAriaDescribedBy.split(' '));\n }\n\n if (this._getDisplayedMessages() === 'hint') {\n const startHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'start') : null;\n const endHint = this._hintChildren ?\n this._hintChildren.find(hint => hint.align === 'end') : null;\n\n if (startHint) {\n ids.push(startHint.id);\n } else if (this._hintLabel) {\n ids.push(this._hintLabelId);\n }\n\n if (endHint) {\n ids.push(endHint.id);\n }\n } else if (this._errorChildren) {\n ids.push(...this._errorChildren.map(error => error.id));\n }\n\n this._control.setDescribedByIds(ids);\n }\n }\n\n /** Throws an error if the form field's control is missing. */\n protected _validateControlChild() {\n if (!this._control && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatFormFieldMissingControlError();\n }\n }\n\n /**\n * Updates the width and position of the gap in the outline. Only relevant for the outline\n * appearance.\n */\n updateOutlineGap() {\n const labelEl = this._label ? this._label.nativeElement : null;\n\n if (this.appearance !== 'outline' || !labelEl || !labelEl.children.length ||\n !labelEl.textContent!.trim()) {\n return;\n }\n\n if (!this._platform.isBrowser) {\n // getBoundingClientRect isn't available on the server.\n return;\n }\n // If the element is not present in the DOM, the outline gap will need to be calculated\n // the next time it is checked and in the DOM.\n if (!this._isAttachedToDOM()) {\n this._outlineGapCalculationNeededImmediately = true;\n return;\n }\n\n let startWidth = 0;\n let gapWidth = 0;\n\n const container = this._connectionContainerRef.nativeElement;\n const startEls = container.querySelectorAll('.mat-form-field-outline-start');\n const gapEls = container.querySelectorAll('.mat-form-field-outline-gap');\n\n if (this._label && this._label.nativeElement.children.length) {\n const containerRect = container.getBoundingClientRect();\n\n // If the container's width and height are zero, it means that the element is\n // invisible and we can't calculate the outline gap. Mark the element as needing\n // to be checked the next time the zone stabilizes. We can't do this immediately\n // on the next change detection, because even if the element becomes visible,\n // the `ClientRect` won't be reclaculated immediately. We reset the\n // `_outlineGapCalculationNeededImmediately` flag some we don't run the checks twice.\n if (containerRect.width === 0 && containerRect.height === 0) {\n this._outlineGapCalculationNeededOnStable = true;\n this._outlineGapCalculationNeededImmediately = false;\n return;\n }\n\n const containerStart = this._getStartEnd(containerRect);\n const labelChildren = labelEl.children;\n const labelStart = this._getStartEnd(labelChildren[0].getBoundingClientRect());\n let labelWidth = 0;\n\n for (let i = 0; i < labelChildren.length; i++) {\n labelWidth += (labelChildren[i] as HTMLElement).offsetWidth;\n }\n startWidth = Math.abs(labelStart - containerStart) - outlineGapPadding;\n gapWidth = labelWidth > 0 ? labelWidth * floatingLabelScale + outlineGapPadding * 2 : 0;\n }\n\n for (let i = 0; i < startEls.length; i++) {\n startEls[i].style.width = `${startWidth}px`;\n }\n for (let i = 0; i < gapEls.length; i++) {\n gapEls[i].style.width = `${gapWidth}px`;\n }\n\n this._outlineGapCalculationNeededOnStable =\n this._outlineGapCalculationNeededImmediately = false;\n }\n\n /** Gets the start end of the rect considering the current directionality. */\n private _getStartEnd(rect: ClientRect): number {\n return (this._dir && this._dir.value === 'rtl') ? rect.right : rect.left;\n }\n\n /** Checks whether the form field is attached to the DOM. */\n private _isAttachedToDOM(): boolean {\n const element: HTMLElement = this._elementRef.nativeElement;\n\n if (element.getRootNode) {\n const rootNode = element.getRootNode();\n // If the element is inside the DOM the root node will be either the document\n // or the closest shadow root, otherwise it'll be the element itself.\n return rootNode && rootNode !== element;\n }\n\n // Otherwise fall back to checking if it's in the document. This doesn't account for\n // shadow DOM, however browser that support shadow DOM should support `getRootNode` as well.\n return document.documentElement!.contains(element);\n }\n\n static ngAcceptInputType_hideRequiredMarker: BooleanInput;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ObserversModule} from '@angular/cdk/observers';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule} from '@angular/material/core';\nimport {MatError} from './error';\nimport {MatFormField} from './form-field';\nimport {MatHint} from './hint';\nimport {MatLabel} from './label';\nimport {MatPlaceholder} from './placeholder';\nimport {MatPrefix} from './prefix';\nimport {MatSuffix} from './suffix';\n\n@NgModule({\n declarations: [\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n imports: [\n CommonModule,\n MatCommonModule,\n ObserversModule,\n ],\n exports: [\n MatCommonModule,\n MatError,\n MatFormField,\n MatHint,\n MatLabel,\n MatPlaceholder,\n MatPrefix,\n MatSuffix,\n ],\n})\nexport class MatFormFieldModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './form-field-module';\nexport * from './error';\nexport * from './form-field';\nexport {MatFormFieldControl} from './form-field-control';\nexport * from './form-field-errors';\nexport * from './hint';\nexport * from './placeholder';\nexport * from './prefix';\nexport * from './suffix';\nexport * from './label';\nexport * from './form-field-animations';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"]}
Note: See TracBrowser for help on using the repository browser.