mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 12:37:53 +00:00
1 line
79 KiB
JSON
1 line
79 KiB
JSON
{"ast":null,"code":"import { CdkTextareaAutosize, AutofillMonitor, TextFieldModule } from '@angular/cdk/text-field';\nimport { Directive, Input, InjectionToken, ElementRef, Optional, Self, Inject, NgZone, HostListener, NgModule } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { getSupportedInputTypes, Platform } from '@angular/cdk/platform';\nimport { NgControl, NgForm, FormGroupDirective } from '@angular/forms';\nimport { mixinErrorState, ErrorStateMatcher, MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldControl, MatFormField, MAT_FORM_FIELD, MatFormFieldModule } from '@angular/material/form-field';\nimport { Subject } from 'rxjs';\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 * Directive to automatically resize a textarea to fit its content.\n * @deprecated Use `cdkTextareaAutosize` from `@angular/cdk/text-field` instead.\n * @breaking-change 8.0.0\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/forms';\nimport * as ɵngcc3 from '@angular/material/core';\nimport * as ɵngcc4 from '@angular/cdk/text-field';\nimport * as ɵngcc5 from '@angular/material/form-field';\nclass MatTextareaAutosize extends CdkTextareaAutosize {\n get matAutosizeMinRows() {\n return this.minRows;\n }\n set matAutosizeMinRows(value) {\n this.minRows = value;\n }\n get matAutosizeMaxRows() {\n return this.maxRows;\n }\n set matAutosizeMaxRows(value) {\n this.maxRows = value;\n }\n get matAutosize() {\n return this.enabled;\n }\n set matAutosize(value) {\n this.enabled = value;\n }\n get matTextareaAutosize() {\n return this.enabled;\n }\n set matTextareaAutosize(value) {\n this.enabled = value;\n }\n}\nMatTextareaAutosize.ɵfac = /*@__PURE__*/function () {\n let ɵMatTextareaAutosize_BaseFactory;\n return function MatTextareaAutosize_Factory(t) {\n return (ɵMatTextareaAutosize_BaseFactory || (ɵMatTextareaAutosize_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatTextareaAutosize)))(t || MatTextareaAutosize);\n };\n}();\nMatTextareaAutosize.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatTextareaAutosize,\n selectors: [[\"textarea\", \"mat-autosize\", \"\"], [\"textarea\", \"matTextareaAutosize\", \"\"]],\n hostAttrs: [\"rows\", \"1\", 1, \"cdk-textarea-autosize\", \"mat-autosize\"],\n inputs: {\n cdkAutosizeMinRows: \"cdkAutosizeMinRows\",\n cdkAutosizeMaxRows: \"cdkAutosizeMaxRows\",\n matAutosizeMinRows: \"matAutosizeMinRows\",\n matAutosizeMaxRows: \"matAutosizeMaxRows\",\n matAutosize: [\"mat-autosize\", \"matAutosize\"],\n matTextareaAutosize: \"matTextareaAutosize\"\n },\n exportAs: [\"matTextareaAutosize\"],\n features: [ɵngcc0.ɵɵInheritDefinitionFeature]\n});\nMatTextareaAutosize.propDecorators = {\n matAutosizeMinRows: [{\n type: Input\n }],\n matAutosizeMaxRows: [{\n type: Input\n }],\n matAutosize: [{\n type: Input,\n args: ['mat-autosize']\n }],\n matTextareaAutosize: [{\n type: Input\n }]\n};\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTextareaAutosize, [{\n type: Directive,\n args: [{\n selector: 'textarea[mat-autosize], textarea[matTextareaAutosize]',\n exportAs: 'matTextareaAutosize',\n inputs: ['cdkAutosizeMinRows', 'cdkAutosizeMaxRows'],\n host: {\n 'class': 'cdk-textarea-autosize mat-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1'\n }\n }]\n }], null, {\n matAutosizeMinRows: [{\n type: Input\n }],\n matAutosizeMaxRows: [{\n type: Input\n }],\n matAutosize: [{\n type: Input,\n args: ['mat-autosize']\n }],\n matTextareaAutosize: [{\n type: Input\n }]\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/** @docs-private */\nfunction getMatInputUnsupportedTypeError(type) {\n return Error(`Input type \"${type}\" isn't supported by matInput.`);\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/**\n * This token is used to inject the object whose value should be set into `MatInput`. If none is\n * provided, the native `HTMLInputElement` is used. Directives like `MatDatepickerInput` can provide\n * themselves for this token, in order to make `MatInput` delegate the getting and setting of the\n * value to them.\n */\nconst MAT_INPUT_VALUE_ACCESSOR = new InjectionToken('MAT_INPUT_VALUE_ACCESSOR');\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// Invalid input type. Using one of these will throw an MatInputUnsupportedTypeError.\nconst MAT_INPUT_INVALID_TYPES = ['button', 'checkbox', 'file', 'hidden', 'image', 'radio', 'range', 'reset', 'submit'];\nlet nextUniqueId = 0;\n// Boilerplate for applying mixins to MatInput.\n/** @docs-private */\nclass MatInputBase {\n constructor(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, /** @docs-private */\n ngControl) {\n this._defaultErrorStateMatcher = _defaultErrorStateMatcher;\n this._parentForm = _parentForm;\n this._parentFormGroup = _parentFormGroup;\n this.ngControl = ngControl;\n }\n}\nconst _MatInputMixinBase = mixinErrorState(MatInputBase);\n/** Directive that allows a native input to work inside a `MatFormField`. */\nclass MatInput extends _MatInputMixinBase {\n constructor(_elementRef, _platform, /** @docs-private */\n ngControl, _parentForm, _parentFormGroup, _defaultErrorStateMatcher, inputValueAccessor, _autofillMonitor, ngZone,\n // TODO: Remove this once the legacy appearance has been removed. We only need\n // to inject the form-field for determining whether the placeholder has been promoted.\n _formField) {\n super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl);\n this._elementRef = _elementRef;\n this._platform = _platform;\n this.ngControl = ngControl;\n this._autofillMonitor = _autofillMonitor;\n this._formField = _formField;\n this._uid = `mat-input-${nextUniqueId++}`;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n this.focused = false;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n this.stateChanges = new Subject();\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n this.controlType = 'mat-input';\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n this.autofilled = false;\n this._disabled = false;\n this._required = false;\n this._type = 'text';\n this._readonly = false;\n this._neverEmptyInputTypes = ['date', 'datetime', 'datetime-local', 'month', 'time', 'week'].filter(t => getSupportedInputTypes().has(t));\n const element = this._elementRef.nativeElement;\n const nodeName = element.nodeName.toLowerCase();\n // If no input value accessor was explicitly specified, use the element as the input value\n // accessor.\n this._inputValueAccessor = inputValueAccessor || element;\n this._previousNativeValue = this.value;\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n // On some versions of iOS the caret gets stuck in the wrong place when holding down the delete\n // key. In order to get around this we need to \"jiggle\" the caret loose. Since this bug only\n // exists on iOS, we only bother to install the listener on iOS.\n if (_platform.IOS) {\n ngZone.runOutsideAngular(() => {\n _elementRef.nativeElement.addEventListener('keyup', event => {\n let el = event.target;\n if (!el.value && !el.selectionStart && !el.selectionEnd) {\n // Note: Just setting `0, 0` doesn't fix the issue. Setting\n // `1, 1` fixes it for the first time that you type text and\n // then hold delete. Toggling to `1, 1` and then back to\n // `0, 0` seems to completely fix it.\n el.setSelectionRange(1, 1);\n el.setSelectionRange(0, 0);\n }\n });\n });\n }\n this._isServer = !this._platform.isBrowser;\n this._isNativeSelect = nodeName === 'select';\n this._isTextarea = nodeName === 'textarea';\n if (this._isNativeSelect) {\n this.controlType = element.multiple ? 'mat-native-select-multiple' : 'mat-native-select';\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get disabled() {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled;\n }\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next();\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get id() {\n return this._id;\n }\n set id(value) {\n this._id = value || this._uid;\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get required() {\n return this._required;\n }\n set required(value) {\n this._required = coerceBooleanProperty(value);\n }\n /** Input type of the element. */\n get type() {\n return this._type;\n }\n set type(value) {\n this._type = value || 'text';\n this._validateType();\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if (!this._isTextarea && getSupportedInputTypes().has(this._type)) {\n this._elementRef.nativeElement.type = this._type;\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get value() {\n return this._inputValueAccessor.value;\n }\n set value(value) {\n if (value !== this.value) {\n this._inputValueAccessor.value = value;\n this.stateChanges.next();\n }\n }\n /** Whether the element is readonly. */\n get readonly() {\n return this._readonly;\n }\n set readonly(value) {\n this._readonly = coerceBooleanProperty(value);\n }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(event => {\n this.autofilled = event.isAutofilled;\n this.stateChanges.next();\n });\n }\n }\n ngOnChanges() {\n this.stateChanges.next();\n }\n ngOnDestroy() {\n this.stateChanges.complete();\n if (this._platform.isBrowser) {\n this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement);\n }\n }\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this._dirtyCheckNativeValue();\n // We need to dirty-check and set the placeholder attribute ourselves, because whether it's\n // present or not depends on a query which is prone to \"changed after checked\" errors.\n this._dirtyCheckPlaceholder();\n }\n /** Focuses the input. */\n focus(options) {\n this._elementRef.nativeElement.focus(options);\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n /** Callback for the cases where the focused state of the input changes. */\n // tslint:disable:no-host-decorator-in-concrete\n // tslint:enable:no-host-decorator-in-concrete\n _focusChanged(isFocused) {\n if (isFocused !== this.focused && (!this.readonly || !isFocused)) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _onInput() {\n // This is a noop function and is used to let Angular know whenever the value changes.\n // Angular will run a new change detection each time the `input` event has been dispatched.\n // It's necessary that Angular recognizes the value change, because when floatingLabel\n // is set to false and Angular forms aren't used, the placeholder won't recognize the\n // value changes and will not disappear.\n // Listening to the input event wouldn't be necessary when the input is using the\n // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n }\n /** Does some manual dirty checking on the native input `placeholder` attribute. */\n _dirtyCheckPlaceholder() {\n var _a, _b;\n // If we're hiding the native placeholder, it should also be cleared from the DOM, otherwise\n // screen readers will read it out twice: once from the label and once from the attribute.\n // TODO: can be removed once we get rid of the `legacy` style for the form field, because it's\n // the only one that supports promoting the placeholder to a label.\n const placeholder = ((_b = (_a = this._formField) === null || _a === void 0 ? void 0 : _a._hideControlPlaceholder) === null || _b === void 0 ? void 0 : _b.call(_a)) ? null : this.placeholder;\n if (placeholder !== this._previousPlaceholder) {\n const element = this._elementRef.nativeElement;\n this._previousPlaceholder = placeholder;\n placeholder ? element.setAttribute('placeholder', placeholder) : element.removeAttribute('placeholder');\n }\n }\n /** Does some manual dirty checking on the native input `value` property. */\n _dirtyCheckNativeValue() {\n const newValue = this._elementRef.nativeElement.value;\n if (this._previousNativeValue !== newValue) {\n this._previousNativeValue = newValue;\n this.stateChanges.next();\n }\n }\n /** Make sure the input is a supported type. */\n _validateType() {\n if (MAT_INPUT_INVALID_TYPES.indexOf(this._type) > -1 && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatInputUnsupportedTypeError(this._type);\n }\n }\n /** Checks whether the input type is one of the types that are never empty. */\n _isNeverEmpty() {\n return this._neverEmptyInputTypes.indexOf(this._type) > -1;\n }\n /** Checks whether the input is invalid based on the native validation. */\n _isBadInput() {\n // The `validity` property won't be present on platform-server.\n let validity = this._elementRef.nativeElement.validity;\n return validity && validity.badInput;\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get empty() {\n return !this._isNeverEmpty() && !this._elementRef.nativeElement.value && !this._isBadInput() && !this.autofilled;\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get shouldLabelFloat() {\n if (this._isNativeSelect) {\n // For a single-selection `<select>`, the label should float when the selected option has\n // a non-empty display value. For a `<select multiple>`, the label *always* floats to avoid\n // overlapping the label with the options.\n const selectElement = this._elementRef.nativeElement;\n const firstOption = selectElement.options[0];\n // On most browsers the `selectedIndex` will always be 0, however on IE and Edge it'll be\n // -1 if the `value` is set to something, that isn't in the list of options, at a later point.\n return this.focused || selectElement.multiple || !this.empty || !!(selectElement.selectedIndex > -1 && firstOption && firstOption.label);\n } else {\n return this.focused || !this.empty;\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n setDescribedByIds(ids) {\n if (ids.length) {\n this._elementRef.nativeElement.setAttribute('aria-describedby', ids.join(' '));\n } else {\n this._elementRef.nativeElement.removeAttribute('aria-describedby');\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n // Do not re-focus the input element if the element is already focused. Otherwise it can happen\n // that someone clicks on a time input and the cursor resets to the \"hours\" field while the\n // \"minutes\" field was actually clicked. See: https://github.com/angular/components/issues/12849\n if (!this.focused) {\n this.focus();\n }\n }\n}\nMatInput.ɵfac = function MatInput_Factory(t) {\n return new (t || MatInput)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.NgControl, 10), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.NgForm, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.FormGroupDirective, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.ErrorStateMatcher), ɵngcc0.ɵɵdirectiveInject(MAT_INPUT_VALUE_ACCESSOR, 10), ɵngcc0.ɵɵdirectiveInject(ɵngcc4.AutofillMonitor), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(MAT_FORM_FIELD, 8));\n};\nMatInput.ɵdir = /*@__PURE__*/ɵngcc0.ɵɵdefineDirective({\n type: MatInput,\n selectors: [[\"input\", \"matInput\", \"\"], [\"textarea\", \"matInput\", \"\"], [\"select\", \"matNativeControl\", \"\"], [\"input\", \"matNativeControl\", \"\"], [\"textarea\", \"matNativeControl\", \"\"]],\n hostAttrs: [1, \"mat-input-element\", \"mat-form-field-autofill-control\"],\n hostVars: 9,\n hostBindings: function MatInput_HostBindings(rf, ctx) {\n if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focus\", function MatInput_focus_HostBindingHandler() {\n return ctx._focusChanged(true);\n })(\"blur\", function MatInput_blur_HostBindingHandler() {\n return ctx._focusChanged(false);\n })(\"input\", function MatInput_input_HostBindingHandler() {\n return ctx._onInput();\n });\n }\n if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"disabled\", ctx.disabled)(\"required\", ctx.required);\n ɵngcc0.ɵɵattribute(\"id\", ctx.id)(\"data-placeholder\", ctx.placeholder)(\"readonly\", ctx.readonly && !ctx._isNativeSelect || null)(\"aria-invalid\", ctx.errorState && !ctx.empty)(\"aria-required\", ctx.required);\n ɵngcc0.ɵɵclassProp(\"mat-input-server\", ctx._isServer);\n }\n },\n inputs: {\n id: \"id\",\n disabled: \"disabled\",\n required: \"required\",\n type: \"type\",\n value: \"value\",\n readonly: \"readonly\",\n placeholder: \"placeholder\",\n errorStateMatcher: \"errorStateMatcher\",\n userAriaDescribedBy: [\"aria-describedby\", \"userAriaDescribedBy\"]\n },\n exportAs: [\"matInput\"],\n features: [ɵngcc0.ɵɵProvidersFeature([{\n provide: MatFormFieldControl,\n useExisting: MatInput\n }]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature]\n});\nMatInput.ctorParameters = () => [{\n type: ElementRef\n}, {\n type: Platform\n}, {\n type: NgControl,\n decorators: [{\n type: Optional\n }, {\n type: Self\n }]\n}, {\n type: NgForm,\n decorators: [{\n type: Optional\n }]\n}, {\n type: FormGroupDirective,\n decorators: [{\n type: Optional\n }]\n}, {\n type: ErrorStateMatcher\n}, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [MAT_INPUT_VALUE_ACCESSOR]\n }]\n}, {\n type: AutofillMonitor\n}, {\n type: NgZone\n}, {\n type: MatFormField,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD]\n }]\n}];\nMatInput.propDecorators = {\n disabled: [{\n type: Input\n }],\n id: [{\n type: Input\n }],\n placeholder: [{\n type: Input\n }],\n required: [{\n type: Input\n }],\n type: [{\n type: Input\n }],\n errorStateMatcher: [{\n type: Input\n }],\n userAriaDescribedBy: [{\n type: Input,\n args: ['aria-describedby']\n }],\n value: [{\n type: Input\n }],\n readonly: [{\n type: Input\n }],\n _focusChanged: [{\n type: HostListener,\n args: ['focus', ['true']]\n }, {\n type: HostListener,\n args: ['blur', ['false']]\n }],\n _onInput: [{\n type: HostListener,\n args: ['input']\n }]\n};\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatInput, [{\n type: Directive,\n args: [{\n selector: `input[matInput], textarea[matInput], select[matNativeControl],\n input[matNativeControl], textarea[matNativeControl]`,\n exportAs: 'matInput',\n host: {\n /**\n * @breaking-change 8.0.0 remove .mat-form-field-autofill-control in favor of AutofillMonitor.\n */\n 'class': 'mat-input-element mat-form-field-autofill-control',\n '[class.mat-input-server]': '_isServer',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n // At the time of writing, we have a lot of customer tests that look up the input based on its\n // placeholder. Since we sometimes omit the placeholder attribute from the DOM to prevent screen\n // readers from reading it twice, we have to keep it somewhere in the DOM for the lookup.\n '[attr.data-placeholder]': 'placeholder',\n '[disabled]': 'disabled',\n '[required]': 'required',\n '[attr.readonly]': 'readonly && !_isNativeSelect || null',\n // Only mark the input as invalid for assistive technology if it has a value since the\n // state usually overlaps with `aria-required` when the input is empty and can be redundant.\n '[attr.aria-invalid]': 'errorState && !empty',\n '[attr.aria-required]': 'required'\n },\n providers: [{\n provide: MatFormFieldControl,\n useExisting: MatInput\n }]\n }]\n }], function () {\n return [{\n type: ɵngcc0.ElementRef\n }, {\n type: ɵngcc1.Platform\n }, {\n type: ɵngcc2.NgControl,\n decorators: [{\n type: Optional\n }, {\n type: Self\n }]\n }, {\n type: ɵngcc2.NgForm,\n decorators: [{\n type: Optional\n }]\n }, {\n type: ɵngcc2.FormGroupDirective,\n decorators: [{\n type: Optional\n }]\n }, {\n type: ɵngcc3.ErrorStateMatcher\n }, {\n type: undefined,\n decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [MAT_INPUT_VALUE_ACCESSOR]\n }]\n }, {\n type: ɵngcc4.AutofillMonitor\n }, {\n type: ɵngcc0.NgZone\n }, {\n type: ɵngcc5.MatFormField,\n decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD]\n }]\n }];\n }, {\n id: [{\n type: Input\n }],\n disabled: [{\n type: Input\n }],\n required: [{\n type: Input\n }],\n type: [{\n type: Input\n }],\n value: [{\n type: Input\n }],\n readonly: [{\n type: Input\n }],\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n /** Callback for the cases where the focused state of the input changes. */\n // tslint:disable:no-host-decorator-in-concrete\n // tslint:enable:no-host-decorator-in-concrete\n _focusChanged: [{\n type: HostListener,\n args: ['focus', ['true']]\n }, {\n type: HostListener,\n args: ['blur', ['false']]\n }],\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _onInput: [{\n type: HostListener,\n args: ['input']\n }],\n placeholder: [{\n type: Input\n }],\n errorStateMatcher: [{\n type: Input\n }],\n userAriaDescribedBy: [{\n type: Input,\n args: ['aria-describedby']\n }]\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 */\nclass MatInputModule {}\nMatInputModule.ɵfac = function MatInputModule_Factory(t) {\n return new (t || MatInputModule)();\n};\nMatInputModule.ɵmod = /*@__PURE__*/ɵngcc0.ɵɵdefineNgModule({\n type: MatInputModule\n});\nMatInputModule.ɵinj = /*@__PURE__*/ɵngcc0.ɵɵdefineInjector({\n providers: [ErrorStateMatcher],\n imports: [TextFieldModule, MatFormFieldModule, MatCommonModule, TextFieldModule,\n // We re-export the `MatFormFieldModule` since `MatInput` will almost always\n // be used together with `MatFormField`.\n MatFormFieldModule]\n});\n(function () {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatInputModule, [{\n type: NgModule,\n args: [{\n declarations: [MatInput, MatTextareaAutosize],\n imports: [TextFieldModule, MatFormFieldModule, MatCommonModule],\n exports: [TextFieldModule,\n // We re-export the `MatFormFieldModule` since `MatInput` will almost always\n // be used together with `MatFormField`.\n MatFormFieldModule, MatInput, MatTextareaAutosize],\n providers: [ErrorStateMatcher]\n }]\n }], null, null);\n})();\n(function () {\n (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatInputModule, {\n declarations: function () {\n return [MatInput, MatTextareaAutosize];\n },\n imports: function () {\n return [TextFieldModule, MatFormFieldModule, MatCommonModule];\n },\n exports: function () {\n return [TextFieldModule,\n // We re-export the `MatFormFieldModule` since `MatInput` will almost always\n // be used together with `MatFormField`.\n MatFormFieldModule, MatInput, MatTextareaAutosize];\n }\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\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_INPUT_VALUE_ACCESSOR, MatInput, MatInputModule, MatTextareaAutosize, getMatInputUnsupportedTypeError };","map":{"version":3,"names":["CdkTextareaAutosize","AutofillMonitor","TextFieldModule","Directive","Input","InjectionToken","ElementRef","Optional","Self","Inject","NgZone","HostListener","NgModule","coerceBooleanProperty","getSupportedInputTypes","Platform","NgControl","NgForm","FormGroupDirective","mixinErrorState","ErrorStateMatcher","MatCommonModule","MatFormFieldControl","MatFormField","MAT_FORM_FIELD","MatFormFieldModule","Subject","ɵngcc0","ɵngcc1","ɵngcc2","ɵngcc3","ɵngcc4","ɵngcc5","MatTextareaAutosize","matAutosizeMinRows","minRows","value","matAutosizeMaxRows","maxRows","matAutosize","enabled","matTextareaAutosize","ɵfac","ɵMatTextareaAutosize_BaseFactory","MatTextareaAutosize_Factory","t","ɵɵgetInheritedFactory","ɵdir","ɵɵdefineDirective","type","selectors","hostAttrs","inputs","cdkAutosizeMinRows","cdkAutosizeMaxRows","exportAs","features","ɵɵInheritDefinitionFeature","propDecorators","args","ngDevMode","ɵsetClassMetadata","selector","host","getMatInputUnsupportedTypeError","Error","MAT_INPUT_VALUE_ACCESSOR","MAT_INPUT_INVALID_TYPES","nextUniqueId","MatInputBase","constructor","_defaultErrorStateMatcher","_parentForm","_parentFormGroup","ngControl","_MatInputMixinBase","MatInput","_elementRef","_platform","inputValueAccessor","_autofillMonitor","ngZone","_formField","_uid","focused","stateChanges","controlType","autofilled","_disabled","_required","_type","_readonly","_neverEmptyInputTypes","filter","has","element","nativeElement","nodeName","toLowerCase","_inputValueAccessor","_previousNativeValue","id","IOS","runOutsideAngular","addEventListener","event","el","target","selectionStart","selectionEnd","setSelectionRange","_isServer","isBrowser","_isNativeSelect","_isTextarea","multiple","disabled","next","_id","required","_validateType","readonly","ngAfterViewInit","monitor","subscribe","isAutofilled","ngOnChanges","ngOnDestroy","complete","stopMonitoring","ngDoCheck","updateErrorState","_dirtyCheckNativeValue","_dirtyCheckPlaceholder","focus","options","_focusChanged","isFocused","_onInput","_a","_b","placeholder","_hideControlPlaceholder","call","_previousPlaceholder","setAttribute","removeAttribute","newValue","indexOf","_isNeverEmpty","_isBadInput","validity","badInput","empty","shouldLabelFloat","selectElement","firstOption","selectedIndex","label","setDescribedByIds","ids","length","join","onContainerClick","MatInput_Factory","ɵɵdirectiveInject","hostVars","hostBindings","MatInput_HostBindings","rf","ctx","ɵɵlistener","MatInput_focus_HostBindingHandler","MatInput_blur_HostBindingHandler","MatInput_input_HostBindingHandler","ɵɵhostProperty","ɵɵattribute","errorState","ɵɵclassProp","errorStateMatcher","userAriaDescribedBy","ɵɵProvidersFeature","provide","useExisting","ɵɵNgOnChangesFeature","ctorParameters","decorators","undefined","providers","MatInputModule","MatInputModule_Factory","ɵmod","ɵɵdefineNgModule","ɵinj","ɵɵdefineInjector","imports","declarations","exports","ngJitMode","ɵɵsetNgModuleScope"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@angular/material/__ivy_ngcc__/fesm2015/input.js"],"sourcesContent":["import { CdkTextareaAutosize, AutofillMonitor, TextFieldModule } from '@angular/cdk/text-field';\nimport { Directive, Input, InjectionToken, ElementRef, Optional, Self, Inject, NgZone, HostListener, NgModule } from '@angular/core';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { getSupportedInputTypes, Platform } from '@angular/cdk/platform';\nimport { NgControl, NgForm, FormGroupDirective } from '@angular/forms';\nimport { mixinErrorState, ErrorStateMatcher, MatCommonModule } from '@angular/material/core';\nimport { MatFormFieldControl, MatFormField, MAT_FORM_FIELD, MatFormFieldModule } from '@angular/material/form-field';\nimport { Subject } from 'rxjs';\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 * Directive to automatically resize a textarea to fit its content.\n * @deprecated Use `cdkTextareaAutosize` from `@angular/cdk/text-field` instead.\n * @breaking-change 8.0.0\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/forms';\nimport * as ɵngcc3 from '@angular/material/core';\nimport * as ɵngcc4 from '@angular/cdk/text-field';\nimport * as ɵngcc5 from '@angular/material/form-field';\nclass MatTextareaAutosize extends CdkTextareaAutosize {\n get matAutosizeMinRows() { return this.minRows; }\n set matAutosizeMinRows(value) { this.minRows = value; }\n get matAutosizeMaxRows() { return this.maxRows; }\n set matAutosizeMaxRows(value) { this.maxRows = value; }\n get matAutosize() { return this.enabled; }\n set matAutosize(value) { this.enabled = value; }\n get matTextareaAutosize() { return this.enabled; }\n set matTextareaAutosize(value) { this.enabled = value; }\n}\nMatTextareaAutosize.ɵfac = /*@__PURE__*/ function () { let ɵMatTextareaAutosize_BaseFactory; return function MatTextareaAutosize_Factory(t) { return (ɵMatTextareaAutosize_BaseFactory || (ɵMatTextareaAutosize_BaseFactory = ɵngcc0.ɵɵgetInheritedFactory(MatTextareaAutosize)))(t || MatTextareaAutosize); }; }();\nMatTextareaAutosize.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatTextareaAutosize, selectors: [[\"textarea\", \"mat-autosize\", \"\"], [\"textarea\", \"matTextareaAutosize\", \"\"]], hostAttrs: [\"rows\", \"1\", 1, \"cdk-textarea-autosize\", \"mat-autosize\"], inputs: { cdkAutosizeMinRows: \"cdkAutosizeMinRows\", cdkAutosizeMaxRows: \"cdkAutosizeMaxRows\", matAutosizeMinRows: \"matAutosizeMinRows\", matAutosizeMaxRows: \"matAutosizeMaxRows\", matAutosize: [\"mat-autosize\", \"matAutosize\"], matTextareaAutosize: \"matTextareaAutosize\" }, exportAs: [\"matTextareaAutosize\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nMatTextareaAutosize.propDecorators = {\n matAutosizeMinRows: [{ type: Input }],\n matAutosizeMaxRows: [{ type: Input }],\n matAutosize: [{ type: Input, args: ['mat-autosize',] }],\n matTextareaAutosize: [{ type: Input }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatTextareaAutosize, [{\n type: Directive,\n args: [{\n selector: 'textarea[mat-autosize], textarea[matTextareaAutosize]',\n exportAs: 'matTextareaAutosize',\n inputs: ['cdkAutosizeMinRows', 'cdkAutosizeMaxRows'],\n host: {\n 'class': 'cdk-textarea-autosize mat-autosize',\n // Textarea elements that have the directive applied should have a single row by default.\n // Browsers normally show two rows by default and therefore this limits the minRows binding.\n 'rows': '1'\n }\n }]\n }], null, { matAutosizeMinRows: [{\n type: Input\n }], matAutosizeMaxRows: [{\n type: Input\n }], matAutosize: [{\n type: Input,\n args: ['mat-autosize']\n }], matTextareaAutosize: [{\n type: Input\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/** @docs-private */\nfunction getMatInputUnsupportedTypeError(type) {\n return Error(`Input type \"${type}\" isn't supported by matInput.`);\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/**\n * This token is used to inject the object whose value should be set into `MatInput`. If none is\n * provided, the native `HTMLInputElement` is used. Directives like `MatDatepickerInput` can provide\n * themselves for this token, in order to make `MatInput` delegate the getting and setting of the\n * value to them.\n */\nconst MAT_INPUT_VALUE_ACCESSOR = new InjectionToken('MAT_INPUT_VALUE_ACCESSOR');\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// Invalid input type. Using one of these will throw an MatInputUnsupportedTypeError.\nconst MAT_INPUT_INVALID_TYPES = [\n 'button',\n 'checkbox',\n 'file',\n 'hidden',\n 'image',\n 'radio',\n 'range',\n 'reset',\n 'submit'\n];\nlet nextUniqueId = 0;\n// Boilerplate for applying mixins to MatInput.\n/** @docs-private */\nclass MatInputBase {\n constructor(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, \n /** @docs-private */\n ngControl) {\n this._defaultErrorStateMatcher = _defaultErrorStateMatcher;\n this._parentForm = _parentForm;\n this._parentFormGroup = _parentFormGroup;\n this.ngControl = ngControl;\n }\n}\nconst _MatInputMixinBase = mixinErrorState(MatInputBase);\n/** Directive that allows a native input to work inside a `MatFormField`. */\nclass MatInput extends _MatInputMixinBase {\n constructor(_elementRef, _platform, \n /** @docs-private */\n ngControl, _parentForm, _parentFormGroup, _defaultErrorStateMatcher, inputValueAccessor, _autofillMonitor, ngZone, \n // TODO: Remove this once the legacy appearance has been removed. We only need\n // to inject the form-field for determining whether the placeholder has been promoted.\n _formField) {\n super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, ngControl);\n this._elementRef = _elementRef;\n this._platform = _platform;\n this.ngControl = ngControl;\n this._autofillMonitor = _autofillMonitor;\n this._formField = _formField;\n this._uid = `mat-input-${nextUniqueId++}`;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n this.focused = false;\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n this.stateChanges = new Subject();\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n this.controlType = 'mat-input';\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n this.autofilled = false;\n this._disabled = false;\n this._required = false;\n this._type = 'text';\n this._readonly = false;\n this._neverEmptyInputTypes = [\n 'date',\n 'datetime',\n 'datetime-local',\n 'month',\n 'time',\n 'week'\n ].filter(t => getSupportedInputTypes().has(t));\n const element = this._elementRef.nativeElement;\n const nodeName = element.nodeName.toLowerCase();\n // If no input value accessor was explicitly specified, use the element as the input value\n // accessor.\n this._inputValueAccessor = inputValueAccessor || element;\n this._previousNativeValue = this.value;\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n // On some versions of iOS the caret gets stuck in the wrong place when holding down the delete\n // key. In order to get around this we need to \"jiggle\" the caret loose. Since this bug only\n // exists on iOS, we only bother to install the listener on iOS.\n if (_platform.IOS) {\n ngZone.runOutsideAngular(() => {\n _elementRef.nativeElement.addEventListener('keyup', (event) => {\n let el = event.target;\n if (!el.value && !el.selectionStart && !el.selectionEnd) {\n // Note: Just setting `0, 0` doesn't fix the issue. Setting\n // `1, 1` fixes it for the first time that you type text and\n // then hold delete. Toggling to `1, 1` and then back to\n // `0, 0` seems to completely fix it.\n el.setSelectionRange(1, 1);\n el.setSelectionRange(0, 0);\n }\n });\n });\n }\n this._isServer = !this._platform.isBrowser;\n this._isNativeSelect = nodeName === 'select';\n this._isTextarea = nodeName === 'textarea';\n if (this._isNativeSelect) {\n this.controlType = element.multiple ? 'mat-native-select-multiple' :\n 'mat-native-select';\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get disabled() {\n if (this.ngControl && this.ngControl.disabled !== null) {\n return this.ngControl.disabled;\n }\n return this._disabled;\n }\n set disabled(value) {\n this._disabled = coerceBooleanProperty(value);\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n this.stateChanges.next();\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get id() { return this._id; }\n set id(value) { this._id = value || this._uid; }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get required() { return this._required; }\n set required(value) { this._required = coerceBooleanProperty(value); }\n /** Input type of the element. */\n get type() { return this._type; }\n set type(value) {\n this._type = value || 'text';\n this._validateType();\n // When using Angular inputs, developers are no longer able to set the properties on the native\n // input element. To ensure that bindings for `type` work, we need to sync the setter\n // with the native property. Textarea elements don't support the type property or attribute.\n if (!this._isTextarea && getSupportedInputTypes().has(this._type)) {\n this._elementRef.nativeElement.type = this._type;\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get value() { return this._inputValueAccessor.value; }\n set value(value) {\n if (value !== this.value) {\n this._inputValueAccessor.value = value;\n this.stateChanges.next();\n }\n }\n /** Whether the element is readonly. */\n get readonly() { return this._readonly; }\n set readonly(value) { this._readonly = coerceBooleanProperty(value); }\n ngAfterViewInit() {\n if (this._platform.isBrowser) {\n this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(event => {\n this.autofilled = event.isAutofilled;\n this.stateChanges.next();\n });\n }\n }\n ngOnChanges() {\n this.stateChanges.next();\n }\n ngOnDestroy() {\n this.stateChanges.complete();\n if (this._platform.isBrowser) {\n this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement);\n }\n }\n ngDoCheck() {\n if (this.ngControl) {\n // We need to re-evaluate this on every change detection cycle, because there are some\n // error triggers that we can't subscribe to (e.g. parent form submissions). This means\n // that whatever logic is in here has to be super lean or we risk destroying the performance.\n this.updateErrorState();\n }\n // We need to dirty-check the native element's value, because there are some cases where\n // we won't be notified when it changes (e.g. the consumer isn't using forms or they're\n // updating the value using `emitEvent: false`).\n this._dirtyCheckNativeValue();\n // We need to dirty-check and set the placeholder attribute ourselves, because whether it's\n // present or not depends on a query which is prone to \"changed after checked\" errors.\n this._dirtyCheckPlaceholder();\n }\n /** Focuses the input. */\n focus(options) {\n this._elementRef.nativeElement.focus(options);\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n /** Callback for the cases where the focused state of the input changes. */\n // tslint:disable:no-host-decorator-in-concrete\n // tslint:enable:no-host-decorator-in-concrete\n _focusChanged(isFocused) {\n if (isFocused !== this.focused && (!this.readonly || !isFocused)) {\n this.focused = isFocused;\n this.stateChanges.next();\n }\n }\n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _onInput() {\n // This is a noop function and is used to let Angular know whenever the value changes.\n // Angular will run a new change detection each time the `input` event has been dispatched.\n // It's necessary that Angular recognizes the value change, because when floatingLabel\n // is set to false and Angular forms aren't used, the placeholder won't recognize the\n // value changes and will not disappear.\n // Listening to the input event wouldn't be necessary when the input is using the\n // FormsModule or ReactiveFormsModule, because Angular forms also listens to input events.\n }\n /** Does some manual dirty checking on the native input `placeholder` attribute. */\n _dirtyCheckPlaceholder() {\n var _a, _b;\n // If we're hiding the native placeholder, it should also be cleared from the DOM, otherwise\n // screen readers will read it out twice: once from the label and once from the attribute.\n // TODO: can be removed once we get rid of the `legacy` style for the form field, because it's\n // the only one that supports promoting the placeholder to a label.\n const placeholder = ((_b = (_a = this._formField) === null || _a === void 0 ? void 0 : _a._hideControlPlaceholder) === null || _b === void 0 ? void 0 : _b.call(_a)) ? null : this.placeholder;\n if (placeholder !== this._previousPlaceholder) {\n const element = this._elementRef.nativeElement;\n this._previousPlaceholder = placeholder;\n placeholder ?\n element.setAttribute('placeholder', placeholder) : element.removeAttribute('placeholder');\n }\n }\n /** Does some manual dirty checking on the native input `value` property. */\n _dirtyCheckNativeValue() {\n const newValue = this._elementRef.nativeElement.value;\n if (this._previousNativeValue !== newValue) {\n this._previousNativeValue = newValue;\n this.stateChanges.next();\n }\n }\n /** Make sure the input is a supported type. */\n _validateType() {\n if (MAT_INPUT_INVALID_TYPES.indexOf(this._type) > -1 &&\n (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getMatInputUnsupportedTypeError(this._type);\n }\n }\n /** Checks whether the input type is one of the types that are never empty. */\n _isNeverEmpty() {\n return this._neverEmptyInputTypes.indexOf(this._type) > -1;\n }\n /** Checks whether the input is invalid based on the native validation. */\n _isBadInput() {\n // The `validity` property won't be present on platform-server.\n let validity = this._elementRef.nativeElement.validity;\n return validity && validity.badInput;\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get empty() {\n return !this._isNeverEmpty() && !this._elementRef.nativeElement.value && !this._isBadInput() &&\n !this.autofilled;\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n get shouldLabelFloat() {\n if (this._isNativeSelect) {\n // For a single-selection `<select>`, the label should float when the selected option has\n // a non-empty display value. For a `<select multiple>`, the label *always* floats to avoid\n // overlapping the label with the options.\n const selectElement = this._elementRef.nativeElement;\n const firstOption = selectElement.options[0];\n // On most browsers the `selectedIndex` will always be 0, however on IE and Edge it'll be\n // -1 if the `value` is set to something, that isn't in the list of options, at a later point.\n return this.focused || selectElement.multiple || !this.empty ||\n !!(selectElement.selectedIndex > -1 && firstOption && firstOption.label);\n }\n else {\n return this.focused || !this.empty;\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n setDescribedByIds(ids) {\n if (ids.length) {\n this._elementRef.nativeElement.setAttribute('aria-describedby', ids.join(' '));\n }\n else {\n this._elementRef.nativeElement.removeAttribute('aria-describedby');\n }\n }\n /**\n * Implemented as part of MatFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n // Do not re-focus the input element if the element is already focused. Otherwise it can happen\n // that someone clicks on a time input and the cursor resets to the \"hours\" field while the\n // \"minutes\" field was actually clicked. See: https://github.com/angular/components/issues/12849\n if (!this.focused) {\n this.focus();\n }\n }\n}\nMatInput.ɵfac = function MatInput_Factory(t) { return new (t || MatInput)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.NgControl, 10), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.NgForm, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.FormGroupDirective, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.ErrorStateMatcher), ɵngcc0.ɵɵdirectiveInject(MAT_INPUT_VALUE_ACCESSOR, 10), ɵngcc0.ɵɵdirectiveInject(ɵngcc4.AutofillMonitor), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(MAT_FORM_FIELD, 8)); };\nMatInput.ɵdir = /*@__PURE__*/ ɵngcc0.ɵɵdefineDirective({ type: MatInput, selectors: [[\"input\", \"matInput\", \"\"], [\"textarea\", \"matInput\", \"\"], [\"select\", \"matNativeControl\", \"\"], [\"input\", \"matNativeControl\", \"\"], [\"textarea\", \"matNativeControl\", \"\"]], hostAttrs: [1, \"mat-input-element\", \"mat-form-field-autofill-control\"], hostVars: 9, hostBindings: function MatInput_HostBindings(rf, ctx) { if (rf & 1) {\n ɵngcc0.ɵɵlistener(\"focus\", function MatInput_focus_HostBindingHandler() { return ctx._focusChanged(true); })(\"blur\", function MatInput_blur_HostBindingHandler() { return ctx._focusChanged(false); })(\"input\", function MatInput_input_HostBindingHandler() { return ctx._onInput(); });\n } if (rf & 2) {\n ɵngcc0.ɵɵhostProperty(\"disabled\", ctx.disabled)(\"required\", ctx.required);\n ɵngcc0.ɵɵattribute(\"id\", ctx.id)(\"data-placeholder\", ctx.placeholder)(\"readonly\", ctx.readonly && !ctx._isNativeSelect || null)(\"aria-invalid\", ctx.errorState && !ctx.empty)(\"aria-required\", ctx.required);\n ɵngcc0.ɵɵclassProp(\"mat-input-server\", ctx._isServer);\n } }, inputs: { id: \"id\", disabled: \"disabled\", required: \"required\", type: \"type\", value: \"value\", readonly: \"readonly\", placeholder: \"placeholder\", errorStateMatcher: \"errorStateMatcher\", userAriaDescribedBy: [\"aria-describedby\", \"userAriaDescribedBy\"] }, exportAs: [\"matInput\"], features: [ɵngcc0.ɵɵProvidersFeature([{ provide: MatFormFieldControl, useExisting: MatInput }]), ɵngcc0.ɵɵInheritDefinitionFeature, ɵngcc0.ɵɵNgOnChangesFeature] });\nMatInput.ctorParameters = () => [\n { type: ElementRef },\n { type: Platform },\n { type: NgControl, decorators: [{ type: Optional }, { type: Self }] },\n { type: NgForm, decorators: [{ type: Optional }] },\n { type: FormGroupDirective, decorators: [{ type: Optional }] },\n { type: ErrorStateMatcher },\n { type: undefined, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [MAT_INPUT_VALUE_ACCESSOR,] }] },\n { type: AutofillMonitor },\n { type: NgZone },\n { type: MatFormField, decorators: [{ type: Optional }, { type: Inject, args: [MAT_FORM_FIELD,] }] }\n];\nMatInput.propDecorators = {\n disabled: [{ type: Input }],\n id: [{ type: Input }],\n placeholder: [{ type: Input }],\n required: [{ type: Input }],\n type: [{ type: Input }],\n errorStateMatcher: [{ type: Input }],\n userAriaDescribedBy: [{ type: Input, args: ['aria-describedby',] }],\n value: [{ type: Input }],\n readonly: [{ type: Input }],\n _focusChanged: [{ type: HostListener, args: ['focus', ['true'],] }, { type: HostListener, args: ['blur', ['false'],] }],\n _onInput: [{ type: HostListener, args: ['input',] }]\n};\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatInput, [{\n type: Directive,\n args: [{\n selector: `input[matInput], textarea[matInput], select[matNativeControl],\n input[matNativeControl], textarea[matNativeControl]`,\n exportAs: 'matInput',\n host: {\n /**\n * @breaking-change 8.0.0 remove .mat-form-field-autofill-control in favor of AutofillMonitor.\n */\n 'class': 'mat-input-element mat-form-field-autofill-control',\n '[class.mat-input-server]': '_isServer',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n // At the time of writing, we have a lot of customer tests that look up the input based on its\n // placeholder. Since we sometimes omit the placeholder attribute from the DOM to prevent screen\n // readers from reading it twice, we have to keep it somewhere in the DOM for the lookup.\n '[attr.data-placeholder]': 'placeholder',\n '[disabled]': 'disabled',\n '[required]': 'required',\n '[attr.readonly]': 'readonly && !_isNativeSelect || null',\n // Only mark the input as invalid for assistive technology if it has a value since the\n // state usually overlaps with `aria-required` when the input is empty and can be redundant.\n '[attr.aria-invalid]': 'errorState && !empty',\n '[attr.aria-required]': 'required'\n },\n providers: [{ provide: MatFormFieldControl, useExisting: MatInput }]\n }]\n }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: ɵngcc2.NgControl, decorators: [{\n type: Optional\n }, {\n type: Self\n }] }, { type: ɵngcc2.NgForm, decorators: [{\n type: Optional\n }] }, { type: ɵngcc2.FormGroupDirective, decorators: [{\n type: Optional\n }] }, { type: ɵngcc3.ErrorStateMatcher }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Self\n }, {\n type: Inject,\n args: [MAT_INPUT_VALUE_ACCESSOR]\n }] }, { type: ɵngcc4.AutofillMonitor }, { type: ɵngcc0.NgZone }, { type: ɵngcc5.MatFormField, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [MAT_FORM_FIELD]\n }] }]; }, { id: [{\n type: Input\n }], disabled: [{\n type: Input\n }], required: [{\n type: Input\n }], type: [{\n type: Input\n }], value: [{\n type: Input\n }], readonly: [{\n type: Input\n }], \n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n /** Callback for the cases where the focused state of the input changes. */\n // tslint:disable:no-host-decorator-in-concrete\n // tslint:enable:no-host-decorator-in-concrete\n _focusChanged: [{\n type: HostListener,\n args: ['focus', ['true']]\n }, {\n type: HostListener,\n args: ['blur', ['false']]\n }], \n // We have to use a `HostListener` here in order to support both Ivy and ViewEngine.\n // In Ivy the `host` bindings will be merged when this class is extended, whereas in\n // ViewEngine they're overwritten.\n // TODO(crisbeto): we move this back into `host` once Ivy is turned on by default.\n // tslint:disable-next-line:no-host-decorator-in-concrete\n _onInput: [{\n type: HostListener,\n args: ['input']\n }], placeholder: [{\n type: Input\n }], errorStateMatcher: [{\n type: Input\n }], userAriaDescribedBy: [{\n type: Input,\n args: ['aria-describedby']\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 */\nclass MatInputModule {\n}\nMatInputModule.ɵfac = function MatInputModule_Factory(t) { return new (t || MatInputModule)(); };\nMatInputModule.ɵmod = /*@__PURE__*/ ɵngcc0.ɵɵdefineNgModule({ type: MatInputModule });\nMatInputModule.ɵinj = /*@__PURE__*/ ɵngcc0.ɵɵdefineInjector({ providers: [ErrorStateMatcher], imports: [TextFieldModule,\n MatFormFieldModule,\n MatCommonModule, TextFieldModule,\n // We re-export the `MatFormFieldModule` since `MatInput` will almost always\n // be used together with `MatFormField`.\n MatFormFieldModule] });\n(function () { (typeof ngDevMode === \"undefined\" || ngDevMode) && ɵngcc0.ɵsetClassMetadata(MatInputModule, [{\n type: NgModule,\n args: [{\n declarations: [MatInput, MatTextareaAutosize],\n imports: [\n TextFieldModule,\n MatFormFieldModule,\n MatCommonModule,\n ],\n exports: [\n TextFieldModule,\n // We re-export the `MatFormFieldModule` since `MatInput` will almost always\n // be used together with `MatFormField`.\n MatFormFieldModule,\n MatInput,\n MatTextareaAutosize,\n ],\n providers: [ErrorStateMatcher]\n }]\n }], null, null); })();\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatInputModule, { declarations: function () { return [MatInput, MatTextareaAutosize]; }, imports: function () { return [TextFieldModule,\n MatFormFieldModule,\n MatCommonModule]; }, exports: function () { return [TextFieldModule,\n // We re-export the `MatFormFieldModule` since `MatInput` will almost always\n // be used together with `MatFormField`.\n MatFormFieldModule, MatInput, MatTextareaAutosize]; } }); })();\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/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_INPUT_VALUE_ACCESSOR, MatInput, MatInputModule, MatTextareaAutosize, getMatInputUnsupportedTypeError };\n\n"],"mappings":"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"},"metadata":{},"sourceType":"module"} |