MCPcopy
hub / github.com/angular/components / MatInput

Class MatInput

src/material/input/input.ts:95–618  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

93 providers: [{provide: MatFormFieldControl, useExisting: MatInput}],
94})
95export class MatInput
96 implements MatFormFieldControl<any>, OnChanges, OnDestroy, AfterViewInit, DoCheck
97{
98 protected _elementRef =
99 inject<ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>>(ElementRef);
100 protected _platform = inject(Platform);
101 ngControl = inject(NgControl, {optional: true, self: true})!;
102 private _autofillMonitor = inject(AutofillMonitor);
103 private _ngZone = inject(NgZone);
104 protected _formField? = inject<MatFormField>(MAT_FORM_FIELD, {optional: true});
105 private _renderer = inject(Renderer2);
106
107 protected _uid = inject(_IdGenerator).getId('mat-input-');
108 protected _previousNativeValue: any;
109 private _inputValueAccessor!: {value: any};
110 private _signalBasedValueAccessor?: {value: WritableSignal<any>};
111 private _previousPlaceholder: string | null = null;
112 private _errorStateTracker: _ErrorStateTracker;
113 private _config = inject(MAT_INPUT_CONFIG, {optional: true});
114 private _cleanupIosKeyup: (() => void) | undefined;
115 private _cleanupWebkitWheel: (() => void) | undefined;
116
117 /** Whether the component is being rendered on the server. */
118 readonly _isServer: boolean = false;
119
120 /** Whether the component is a native html select. */
121 readonly _isNativeSelect: boolean = false;
122
123 /** Whether the component is a textarea. */
124 readonly _isTextarea: boolean = false;
125
126 /** Whether the input is inside of a form field. */
127 readonly _isInFormField: boolean = false;
128
129 /**
130 * Implemented as part of MatFormFieldControl.
131 * @docs-private
132 */
133 focused: boolean = false;
134
135 /**
136 * Implemented as part of MatFormFieldControl.
137 * @docs-private
138 */
139 readonly stateChanges: Subject<void> = new Subject<void>();
140
141 /**
142 * Implemented as part of MatFormFieldControl.
143 * @docs-private
144 */
145 controlType: string = 'mat-input';
146
147 /**
148 * Implemented as part of MatFormFieldControl.
149 * @docs-private
150 */
151 autofilled = false;
152

Callers

nothing calls this directly

Calls 3

getSupportedInputTypesFunction · 0.90
getIdMethod · 0.45
filterMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…