Skip to content

Commit 6883100

Browse files
committed
feat(material/input): switch implementation to use MDC
Moves the MDC-based input to stable and renames the old form field to `@angular/material/legacy-input`.
1 parent 3db6b1d commit 6883100

File tree

170 files changed

+2125
-1984
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

170 files changed

+2125
-1984
lines changed

.github/CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@
114114
/src/material-experimental/mdc-chips/** @mmalerba
115115
/src/material-experimental/mdc-core/** @crisbeto
116116
/src/material-experimental/mdc-dialog/** @devversion
117-
/src/material-experimental/mdc-form-field/** @devversion @mmalerba
117+
/src/material/form-field/** @devversion @mmalerba
118118
/src/material-experimental/mdc-list/** @mmalerba @devversion
119119
/src/material-experimental/mdc-menu/** @crisbeto
120120
/src/material-experimental/mdc-select/** @crisbeto

src/components-examples/cdk/text-field/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ng_module(
1212
deps = [
1313
"//src/cdk/text-field",
1414
"//src/material/button",
15-
"//src/material/input",
15+
"//src/material/legacy-input",
1616
"//src/material/select",
1717
],
1818
)

src/components-examples/cdk/text-field/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {TextFieldModule} from '@angular/cdk/text-field';
22
import {CommonModule} from '@angular/common';
33
import {NgModule} from '@angular/core';
44
import {MatButtonModule} from '@angular/material/button';
5-
import {MatInputModule} from '@angular/material/input';
5+
import {MatLegacyInputModule} from '@angular/material/legacy-input';
66
import {MatSelectModule} from '@angular/material/select';
77
import {TextFieldAutofillDirectiveExample} from './text-field-autofill-directive/text-field-autofill-directive-example';
88
import {TextFieldAutofillMonitorExample} from './text-field-autofill-monitor/text-field-autofill-monitor-example';
@@ -21,7 +21,7 @@ const EXAMPLES = [
2121
];
2222

2323
@NgModule({
24-
imports: [CommonModule, TextFieldModule, MatButtonModule, MatInputModule, MatSelectModule],
24+
imports: [CommonModule, TextFieldModule, MatButtonModule, MatLegacyInputModule, MatSelectModule],
2525
declarations: EXAMPLES,
2626
exports: EXAMPLES,
2727
})

src/components-examples/material-experimental/mdc-form-field/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ ng_module(
1313
"//src/cdk/a11y",
1414
"//src/cdk/coercion",
1515
"//src/material/form-field",
16-
"//src/material/input",
1716
"//src/material/icon",
17+
"//src/material/input",
1818
"@npm//@angular/common",
1919
"@npm//@angular/forms",
2020
"@npm//rxjs",

src/components-examples/material-experimental/mdc-table/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ ng_module(
2323
"//src/material/checkbox",
2424
"//src/material/core",
2525
"//src/material/icon",
26-
"//src/material/input",
26+
"//src/material/legacy-input",
2727
"//src/material/paginator",
2828
"//src/material/progress-spinner",
2929
"//src/material/sort",

src/components-examples/material-experimental/mdc-table/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {MatButtonModule} from '@angular/material/button';
55
import {MatButtonToggleModule} from '@angular/material/button-toggle';
66
import {MatCheckboxModule} from '@angular/material/checkbox';
77
import {MatIconModule} from '@angular/material/icon';
8-
import {MatInputModule} from '@angular/material/input';
8+
import {MatLegacyInputModule} from '@angular/material/legacy-input';
99
import {MatPaginatorModule} from '@angular/material/paginator';
1010
import {MatProgressSpinnerModule} from '@angular/material/progress-spinner';
1111
import {MatSortModule} from '@angular/material/sort';
@@ -122,7 +122,7 @@ const EXAMPLES = [
122122
MatButtonToggleModule,
123123
MatCheckboxModule,
124124
MatIconModule,
125-
MatInputModule,
125+
MatLegacyInputModule,
126126
MatPaginatorModule,
127127
MatProgressSpinnerModule,
128128
MatRippleModule,

src/components-examples/material-experimental/popover-edit/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ng_module(
1414
"//src/material/button",
1515
"//src/material/checkbox",
1616
"//src/material/icon",
17-
"//src/material/input",
17+
"//src/material/legacy-input",
1818
"//src/material/list",
1919
"//src/material/snack-bar",
2020
"//src/material/table",

src/components-examples/material-experimental/popover-edit/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {MatPopoverEditModule} from '@angular/material-experimental/popover-edit'
55
import {MatButtonModule} from '@angular/material/button';
66
import {MatCheckboxModule} from '@angular/material/checkbox';
77
import {MatIconModule} from '@angular/material/icon';
8-
import {MatInputModule} from '@angular/material/input';
8+
import {MatLegacyInputModule} from '@angular/material/legacy-input';
99
import {MatListModule} from '@angular/material/list';
1010
import {MatSnackBarModule} from '@angular/material/snack-bar';
1111
import {MatTableModule} from '@angular/material/table';
@@ -34,7 +34,7 @@ const EXAMPLES = [
3434
MatButtonModule,
3535
MatCheckboxModule,
3636
MatIconModule,
37-
MatInputModule,
37+
MatLegacyInputModule,
3838
MatListModule,
3939
MatPopoverEditModule,
4040
MatSnackBarModule,

src/components-examples/material/autocomplete/BUILD.bazel

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ ng_module(
1818
"//src/cdk/testing/testbed",
1919
"//src/material/autocomplete",
2020
"//src/material/autocomplete/testing",
21-
"//src/material/form-field",
22-
"//src/material/input",
21+
"//src/material/legacy-form-field",
22+
"//src/material/legacy-input",
2323
"//src/material/slide-toggle",
2424
"@npm//@angular/forms",
2525
"@npm//@angular/platform-browser",

src/components-examples/material/autocomplete/index.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ import {CommonModule} from '@angular/common';
22
import {NgModule} from '@angular/core';
33
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
44
import {MatAutocompleteModule} from '@angular/material/autocomplete';
5-
import {MatFormFieldModule} from '@angular/material/form-field';
6-
import {MatInputModule} from '@angular/material/input';
5+
import {MatLegacyFormFieldModule} from '@angular/material/legacy-form-field';
6+
import {MatLegacyInputModule} from '@angular/material/legacy-input';
77
import {MatSlideToggleModule} from '@angular/material/slide-toggle';
88
import {AutocompleteAutoActiveFirstOptionExample} from './autocomplete-auto-active-first-option/autocomplete-auto-active-first-option-example';
99
import {AutocompleteDisplayExample} from './autocomplete-display/autocomplete-display-example';
@@ -40,8 +40,8 @@ const EXAMPLES = [
4040
imports: [
4141
CommonModule,
4242
MatAutocompleteModule,
43-
MatFormFieldModule,
44-
MatInputModule,
43+
MatLegacyFormFieldModule,
44+
MatLegacyInputModule,
4545
MatSlideToggleModule,
4646
FormsModule,
4747
ReactiveFormsModule,

src/components-examples/material/chips/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ ng_module(
2020
"//src/material/button",
2121
"//src/material/chips",
2222
"//src/material/chips/testing",
23-
"//src/material/form-field",
2423
"//src/material/icon",
24+
"//src/material/legacy-form-field",
2525
"@npm//@angular/forms",
2626
"@npm//@angular/platform-browser",
2727
"@npm//@angular/platform-browser-dynamic",

src/components-examples/material/chips/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {NgModule} from '@angular/core';
44
import {ReactiveFormsModule} from '@angular/forms';
55
import {MatAutocompleteModule} from '@angular/material/autocomplete';
66
import {MatChipsModule} from '@angular/material/chips';
7-
import {MatFormFieldModule} from '@angular/material/form-field';
7+
import {MatLegacyFormFieldModule} from '@angular/material/legacy-form-field';
88
import {MatIconModule} from '@angular/material/icon';
99
import {ChipsAutocompleteExample} from './chips-autocomplete/chips-autocomplete-example';
1010
import {ChipsDragDropExample} from './chips-drag-drop/chips-drag-drop-example';
@@ -46,7 +46,7 @@ const EXAMPLES = [
4646
MatButtonModule,
4747
MatChipsModule,
4848
MatIconModule,
49-
MatFormFieldModule,
49+
MatLegacyFormFieldModule,
5050
ReactiveFormsModule,
5151
],
5252
declarations: EXAMPLES,

src/components-examples/material/core/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ng_module(
1313
"//src/material/button",
1414
"//src/material/checkbox",
1515
"//src/material/core",
16-
"//src/material/input",
16+
"//src/material/legacy-input",
1717
"@npm//@angular/forms",
1818
],
1919
)

src/components-examples/material/core/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {FormsModule} from '@angular/forms';
33
import {MatButtonModule} from '@angular/material/button';
44
import {MatCheckboxModule} from '@angular/material/checkbox';
55
import {MatRippleModule} from '@angular/material/core';
6-
import {MatInputModule} from '@angular/material/input';
6+
import {MatLegacyInputModule} from '@angular/material/legacy-input';
77
import {ElevationOverviewExample} from './elevation-overview/elevation-overview-example';
88
import {RippleOverviewExample} from './ripple-overview/ripple-overview-example';
99

@@ -12,7 +12,7 @@ export {ElevationOverviewExample, RippleOverviewExample};
1212
const EXAMPLES = [ElevationOverviewExample, RippleOverviewExample];
1313

1414
@NgModule({
15-
imports: [MatButtonModule, MatCheckboxModule, MatInputModule, MatRippleModule, FormsModule],
15+
imports: [MatButtonModule, MatCheckboxModule, MatLegacyInputModule, MatRippleModule, FormsModule],
1616
declarations: EXAMPLES,
1717
exports: EXAMPLES,
1818
})

src/components-examples/material/datepicker/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ ng_module(
2121
"//src/material/datepicker",
2222
"//src/material/datepicker/testing",
2323
"//src/material/icon",
24-
"//src/material/input",
2524
"//src/material/legacy-card",
25+
"//src/material/legacy-input",
2626
"@npm//@angular/forms",
2727
"@npm//@angular/platform-browser",
2828
"@npm//@angular/platform-browser-dynamic",

src/components-examples/material/datepicker/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {MatLegacyCardModule} from '@angular/material/legacy-card';
66
import {MatNativeDateModule, MAT_DATE_LOCALE} from '@angular/material/core';
77
import {MatDatepickerModule} from '@angular/material/datepicker';
88
import {MatIconModule} from '@angular/material/icon';
9-
import {MatInputModule} from '@angular/material/input';
9+
import {MatLegacyInputModule} from '@angular/material/legacy-input';
1010
import {DateRangePickerComparisonExample} from './date-range-picker-comparison/date-range-picker-comparison-example';
1111
import {DateRangePickerFormsExample} from './date-range-picker-forms/date-range-picker-forms-example';
1212
import {DateRangePickerOverviewExample} from './date-range-picker-overview/date-range-picker-overview-example';
@@ -98,7 +98,7 @@ const EXAMPLES = [
9898
MatButtonModule,
9999
MatLegacyCardModule,
100100
MatDatepickerModule,
101-
MatInputModule,
101+
MatLegacyInputModule,
102102
MatIconModule,
103103
MatNativeDateModule,
104104
ReactiveFormsModule,

src/components-examples/material/dialog/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ng_module(
1818
"//src/material/button",
1919
"//src/material/dialog",
2020
"//src/material/dialog/testing",
21-
"//src/material/input",
21+
"//src/material/legacy-input",
2222
"//src/material/menu",
2323
"@npm//@angular/forms",
2424
"@npm//@angular/platform-browser",

src/components-examples/material/dialog/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {NgModule} from '@angular/core';
33
import {FormsModule} from '@angular/forms';
44
import {MatButtonModule} from '@angular/material/button';
55
import {MatDialogModule} from '@angular/material/dialog';
6-
import {MatInputModule} from '@angular/material/input';
6+
import {MatLegacyInputModule} from '@angular/material/legacy-input';
77
import {MatMenuModule} from '@angular/material/menu';
88
import {
99
DialogContentExample,
@@ -65,7 +65,7 @@ const EXAMPLES = [
6565
CommonModule,
6666
MatButtonModule,
6767
MatDialogModule,
68-
MatInputModule,
68+
MatLegacyInputModule,
6969
MatMenuModule,
7070
FormsModule,
7171
],

src/components-examples/material/expansion/BUILD.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ng_module(
2020
"//src/material/expansion",
2121
"//src/material/expansion/testing",
2222
"//src/material/icon",
23-
"//src/material/input",
23+
"//src/material/legacy-input",
2424
"@npm//@angular/platform-browser",
2525
"@npm//@angular/platform-browser-dynamic",
2626
"@npm//@types/jasmine",

src/components-examples/material/expansion/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {MatDatepickerModule} from '@angular/material/datepicker';
44
import {MatNativeDateModule} from '@angular/material/core';
55
import {MatExpansionModule} from '@angular/material/expansion';
66
import {MatIconModule} from '@angular/material/icon';
7-
import {MatInputModule} from '@angular/material/input';
7+
import {MatLegacyInputModule} from '@angular/material/legacy-input';
88
import {ExpansionExpandCollapseAllExample} from './expansion-expand-collapse-all/expansion-expand-collapse-all-example';
99
import {ExpansionOverviewExample} from './expansion-overview/expansion-overview-example';
1010
import {ExpansionStepsExample} from './expansion-steps/expansion-steps-example';
@@ -31,7 +31,7 @@ const EXAMPLES = [
3131
MatNativeDateModule,
3232
MatExpansionModule,
3333
MatIconModule,
34-
MatInputModule,
34+
MatLegacyInputModule,
3535
],
3636
declarations: EXAMPLES,
3737
exports: EXAMPLES,

src/components-examples/material/form-field/BUILD.bazel

+8-8
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ ng_module(
1717
"//src/cdk/testing/testbed",
1818
"//src/material/button",
1919
"//src/material/checkbox",
20-
"//src/material/form-field",
21-
"//src/material/form-field/testing",
2220
"//src/material/icon",
23-
"//src/material/input",
24-
"//src/material/input/testing",
21+
"//src/material/legacy-form-field",
22+
"//src/material/legacy-form-field/testing",
23+
"//src/material/legacy-input",
24+
"//src/material/legacy-input/testing",
2525
"//src/material/radio",
2626
"//src/material/select",
2727
"@npm//@angular/forms",
@@ -47,10 +47,10 @@ ng_test_library(
4747
":form-field",
4848
"//src/cdk/testing",
4949
"//src/cdk/testing/testbed",
50-
"//src/material/form-field",
51-
"//src/material/form-field/testing",
52-
"//src/material/input",
53-
"//src/material/input/testing",
50+
"//src/material/legacy-form-field",
51+
"//src/material/legacy-form-field/testing",
52+
"//src/material/legacy-input",
53+
"//src/material/legacy-input/testing",
5454
"@npm//@angular/forms",
5555
"@npm//@angular/platform-browser",
5656
"@npm//@angular/platform-browser-dynamic",

src/components-examples/material/form-field/form-field-custom-control/form-field-custom-control-example.ts

+10-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,11 @@ import {
1919
NgControl,
2020
Validators,
2121
} from '@angular/forms';
22-
import {MAT_FORM_FIELD, MatFormField, MatFormFieldControl} from '@angular/material/form-field';
22+
import {
23+
MAT_FORM_FIELD,
24+
MatLegacyFormField,
25+
MatLegacyFormFieldControl,
26+
} from '@angular/material/legacy-form-field';
2327
import {Subject} from 'rxjs';
2428

2529
/** @title Form field with custom telephone number input control. */
@@ -43,13 +47,15 @@ export class MyTel {
4347
selector: 'example-tel-input',
4448
templateUrl: 'example-tel-input-example.html',
4549
styleUrls: ['example-tel-input-example.css'],
46-
providers: [{provide: MatFormFieldControl, useExisting: MyTelInput}],
50+
providers: [{provide: MatLegacyFormFieldControl, useExisting: MyTelInput}],
4751
host: {
4852
'[class.example-floating]': 'shouldLabelFloat',
4953
'[id]': 'id',
5054
},
5155
})
52-
export class MyTelInput implements ControlValueAccessor, MatFormFieldControl<MyTel>, OnDestroy {
56+
export class MyTelInput
57+
implements ControlValueAccessor, MatLegacyFormFieldControl<MyTel>, OnDestroy
58+
{
5359
static nextId = 0;
5460
@ViewChild('area') areaInput: HTMLInputElement;
5561
@ViewChild('exchange') exchangeInput: HTMLInputElement;
@@ -137,7 +143,7 @@ export class MyTelInput implements ControlValueAccessor, MatFormFieldControl<MyT
137143
private _formBuilder: FormBuilder,
138144
private _focusMonitor: FocusMonitor,
139145
private _elementRef: ElementRef<HTMLElement>,
140-
@Optional() @Inject(MAT_FORM_FIELD) public _formField: MatFormField,
146+
@Optional() @Inject(MAT_FORM_FIELD) public _formField: MatLegacyFormField,
141147
@Optional() @Self() public ngControl: NgControl,
142148
) {
143149
if (this.ngControl != null) {

0 commit comments

Comments
 (0)