Skip to content

Commit d496ebe

Browse files
authored
feat(material/chips): switch implementation to use MDC (#25400)
Switches the chips module to use MDC by default. BREAKING CHANGE: * `mat-chip-list` has been split up into three different components: `mat-chip-set`, `mat-chip-listbox` and `mat-chip-grid` to better represent the different interaction patterns.
1 parent fdb30ad commit d496ebe

File tree

135 files changed

+3554
-2946
lines changed

Some content is hidden

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

135 files changed

+3554
-2946
lines changed

.github/CODEOWNERS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
/src/material/button/** @andrewseguin
88
/src/material/legacy-card/** @andrewseguin
99
/src/material/legacy-checkbox/** @andrewseguin @devversion
10-
/src/material/chips/** @andrewseguin
10+
/src/material/legacy-chips/** @andrewseguin
1111
/src/material/datepicker/** @mmalerba @crisbeto @zarend
1212
/src/material/legacy-dialog/** @andrewseguin @crisbeto
1313
/src/material/divider/** @andrewseguin @crisbeto
@@ -114,7 +114,7 @@
114114
/src/material-experimental/mdc-button/** @andrewseguin
115115
/src/material/card/** @mmalerba
116116
/src/material/checkbox/** @mmalerba
117-
/src/material-experimental/mdc-chips/** @mmalerba
117+
/src/material/chips/** @mmalerba @crisbeto
118118
/src/material-experimental/mdc-core/** @crisbeto
119119
/src/material/dialog/** @devversion
120120
/src/material/form-field/** @devversion @mmalerba

.ng-dev/commit-message.mts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ export const commitMessage: CommitMessageConfig = {
4343
'material-experimental/mdc-button',
4444
'material/card',
4545
'material/checkbox',
46-
'material-experimental/mdc-chips',
4746
'material-experimental/mdc-core',
4847
'material/dialog',
4948
'material/form-field',
@@ -76,6 +75,7 @@ export const commitMessage: CommitMessageConfig = {
7675
'material/legacy-checkbox',
7776
'material/legacy-checkbox',
7877
'material/chips',
78+
'material/legacy-chips',
7979
'material/core',
8080
'material/legacy-core',
8181
'material/datepicker',

integration/size-test/material-experimental/mdc-chips/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ load("//integration/size-test:index.bzl", "size_test")
33
size_test(
44
name = "basic",
55
file = "basic.ts",
6-
deps = ["//src/material-experimental/mdc-chips"],
6+
deps = ["//src/material/chips"],
77
)

integration/size-test/material-experimental/mdc-chips/basic.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Component, NgModule} from '@angular/core';
2-
import {MatChipsModule} from '@angular/material-experimental/mdc-chips';
2+
import {MatChipsModule} from '@angular/material/chips';
33

44
/**
55
* Basic component using `MatChipSet` and `MatChip`. Other supported parts of the

integration/size-test/material/chips/basic.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import {Component, NgModule} from '@angular/core';
2-
import {MatChipsModule} from '@angular/material/chips';
2+
import {MatLegacyChipsModule} from '@angular/material/legacy-chips';
33

44
/**
55
* Basic component using `MatChipList` and `MatChip`. Other supported parts of the
@@ -15,7 +15,7 @@ import {MatChipsModule} from '@angular/material/chips';
1515
export class TestComponent {}
1616

1717
@NgModule({
18-
imports: [MatChipsModule],
18+
imports: [MatLegacyChipsModule],
1919
declarations: [TestComponent],
2020
bootstrap: [TestComponent],
2121
})

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ ng_module(
1717
"//src/cdk/testing",
1818
"//src/cdk/testing/testbed",
1919
"//src/material/button",
20-
"//src/material/chips",
21-
"//src/material/chips/testing",
2220
"//src/material/icon",
2321
"//src/material/legacy-autocomplete",
22+
"//src/material/legacy-chips",
23+
"//src/material/legacy-chips/testing",
2424
"//src/material/legacy-form-field",
2525
"@npm//@angular/forms",
2626
"@npm//@angular/platform-browser",
@@ -45,8 +45,8 @@ ng_test_library(
4545
":chips",
4646
"//src/cdk/testing",
4747
"//src/cdk/testing/testbed",
48-
"//src/material/chips",
49-
"//src/material/chips/testing",
48+
"//src/material/legacy-chips",
49+
"//src/material/legacy-chips/testing",
5050
"@npm//@angular/platform-browser",
5151
"@npm//@angular/platform-browser-dynamic",
5252
],

src/components-examples/material/chips/chips-autocomplete/chips-autocomplete-example.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {COMMA, ENTER} from '@angular/cdk/keycodes';
22
import {Component, ElementRef, ViewChild} from '@angular/core';
33
import {FormControl} from '@angular/forms';
44
import {MatAutocompleteSelectedEvent} from '@angular/material/legacy-autocomplete';
5-
import {MatChipInputEvent} from '@angular/material/chips';
5+
import {MatLegacyChipInputEvent} from '@angular/material/legacy-chips';
66
import {Observable} from 'rxjs';
77
import {map, startWith} from 'rxjs/operators';
88

@@ -30,7 +30,7 @@ export class ChipsAutocompleteExample {
3030
);
3131
}
3232

33-
add(event: MatChipInputEvent): void {
33+
add(event: MatLegacyChipInputEvent): void {
3434
const value = (event.value || '').trim();
3535

3636
// Add our fruit

src/components-examples/material/chips/chips-form-control/chips-form-control-example.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {Component} from '@angular/core';
22
import {FormControl} from '@angular/forms';
3-
import {MatChipInputEvent} from '@angular/material/chips';
3+
import {MatLegacyChipInputEvent} from '@angular/material/legacy-chips';
44

55
/**
66
* @title Chips with form control
@@ -14,7 +14,7 @@ export class ChipsFormControlExample {
1414
keywords = new Set(['angular', 'how-to', 'tutorial']);
1515
formControl = new FormControl(['angular']);
1616

17-
addKeywordFromInput(event: MatChipInputEvent) {
17+
addKeywordFromInput(event: MatLegacyChipInputEvent) {
1818
if (event.value) {
1919
this.keywords.add(event.value);
2020
event.chipInput!.clear();

src/components-examples/material/chips/chips-harness/chips-harness-example.spec.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
import {ComponentFixture, TestBed} from '@angular/core/testing';
22
import {TestbedHarnessEnvironment} from '@angular/cdk/testing/testbed';
3-
import {MatChipHarness, MatChipListboxHarness} from '@angular/material/chips/testing';
3+
import {
4+
MatLegacyChipHarness,
5+
MatLegacyChipListboxHarness,
6+
} from '@angular/material/legacy-chips/testing';
47
import {HarnessLoader, parallel} from '@angular/cdk/testing';
58
import {ChipsHarnessExample} from './chips-harness-example';
69
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
7-
import {MatChipsModule} from '@angular/material/chips';
10+
import {MatLegacyChipsModule} from '@angular/material/legacy-chips';
811

912
describe('ChipsHarnessExample', () => {
1013
let fixture: ComponentFixture<ChipsHarnessExample>;
1114
let loader: HarnessLoader;
1215

1316
beforeEach(async () => {
1417
await TestBed.configureTestingModule({
15-
imports: [MatChipsModule, NoopAnimationsModule],
18+
imports: [MatLegacyChipsModule, NoopAnimationsModule],
1619
declarations: [ChipsHarnessExample],
1720
}).compileComponents();
1821
fixture = TestBed.createComponent(ChipsHarnessExample);
@@ -21,7 +24,7 @@ describe('ChipsHarnessExample', () => {
2124
});
2225

2326
it('should get whether a chip list is disabled', async () => {
24-
const chipList = await loader.getHarness(MatChipListboxHarness);
27+
const chipList = await loader.getHarness(MatLegacyChipListboxHarness);
2528

2629
expect(await chipList.isDisabled()).toBeFalse();
2730

@@ -32,13 +35,13 @@ describe('ChipsHarnessExample', () => {
3235
});
3336

3437
it('should get the orientation of a chip list', async () => {
35-
const chipList = await loader.getHarness(MatChipListboxHarness);
38+
const chipList = await loader.getHarness(MatLegacyChipListboxHarness);
3639

3740
expect(await chipList.getOrientation()).toEqual('horizontal');
3841
});
3942

4043
it('should be able to get the selected chips in a list', async () => {
41-
const chipList = await loader.getHarness(MatChipListboxHarness);
44+
const chipList = await loader.getHarness(MatLegacyChipListboxHarness);
4245
const chips = await chipList.getChips();
4346

4447
expect((await chipList.getChips({selected: true})).length).toBe(0);
@@ -49,7 +52,7 @@ describe('ChipsHarnessExample', () => {
4952
});
5053

5154
it('should be able to trigger chip removal', async () => {
52-
const chip = await loader.getHarness(MatChipHarness);
55+
const chip = await loader.getHarness(MatLegacyChipHarness);
5356
expect(fixture.componentInstance.remove).not.toHaveBeenCalled();
5457
await chip.remove();
5558
expect(fixture.componentInstance.remove).toHaveBeenCalled();

src/components-examples/material/chips/chips-input/chips-input-example.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {COMMA, ENTER} from '@angular/cdk/keycodes';
22
import {Component} from '@angular/core';
3-
import {MatChipInputEvent} from '@angular/material/chips';
3+
import {MatLegacyChipInputEvent} from '@angular/material/legacy-chips';
44

55
export interface Fruit {
66
name: string;
@@ -19,7 +19,7 @@ export class ChipsInputExample {
1919
readonly separatorKeysCodes = [ENTER, COMMA] as const;
2020
fruits: Fruit[] = [{name: 'Lemon'}, {name: 'Lime'}, {name: 'Apple'}];
2121

22-
add(event: MatChipInputEvent): void {
22+
add(event: MatLegacyChipInputEvent): void {
2323
const value = (event.value || '').trim();
2424

2525
// Add our fruit

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {CommonModule} from '@angular/common';
33
import {NgModule} from '@angular/core';
44
import {ReactiveFormsModule} from '@angular/forms';
55
import {MatLegacyAutocompleteModule} from '@angular/material/legacy-autocomplete';
6-
import {MatChipsModule} from '@angular/material/chips';
6+
import {MatLegacyChipsModule} from '@angular/material/legacy-chips';
77
import {MatLegacyFormFieldModule} from '@angular/material/legacy-form-field';
88
import {MatIconModule} from '@angular/material/icon';
99
import {ChipsAutocompleteExample} from './chips-autocomplete/chips-autocomplete-example';
@@ -44,7 +44,7 @@ const EXAMPLES = [
4444
DragDropModule,
4545
MatLegacyAutocompleteModule,
4646
MatButtonModule,
47-
MatChipsModule,
47+
MatLegacyChipsModule,
4848
MatIconModule,
4949
MatLegacyFormFieldModule,
5050
ReactiveFormsModule,

src/dev-app/chips/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ ng_module(
1111
],
1212
deps = [
1313
"//src/material/button",
14-
"//src/material/chips",
1514
"//src/material/icon",
1615
"//src/material/legacy-card",
1716
"//src/material/legacy-checkbox",
17+
"//src/material/legacy-chips",
1818
"//src/material/legacy-form-field",
1919
"//src/material/toolbar",
2020
],

src/dev-app/chips/chips-demo.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {FormsModule} from '@angular/forms';
1313
import {MatButtonModule} from '@angular/material/button';
1414
import {MatLegacyCardModule} from '@angular/material/legacy-card';
1515
import {MatLegacyCheckboxModule} from '@angular/material/legacy-checkbox';
16-
import {MatChipInputEvent, MatChipsModule} from '@angular/material/chips';
16+
import {MatLegacyChipInputEvent, MatLegacyChipsModule} from '@angular/material/legacy-chips';
1717
import {ThemePalette} from '@angular/material/core';
1818
import {MatLegacyFormFieldModule} from '@angular/material/legacy-form-field';
1919
import {MatIconModule} from '@angular/material/icon';
@@ -39,7 +39,7 @@ export interface DemoColor {
3939
MatButtonModule,
4040
MatLegacyCardModule,
4141
MatLegacyCheckboxModule,
42-
MatChipsModule,
42+
MatLegacyChipsModule,
4343
MatLegacyFormFieldModule,
4444
MatIconModule,
4545
MatToolbarModule,
@@ -79,7 +79,7 @@ export class ChipsDemo {
7979
this.message = message;
8080
}
8181

82-
add(event: MatChipInputEvent): void {
82+
add(event: MatLegacyChipInputEvent): void {
8383
const value = (event.value || '').trim();
8484

8585
// Add our person

src/dev-app/mdc-chips/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ ng_module(
1111
],
1212
deps = [
1313
"//src/material-experimental/mdc-button",
14-
"//src/material-experimental/mdc-chips",
1514
"//src/material/card",
1615
"//src/material/checkbox",
16+
"//src/material/chips",
1717
"//src/material/core",
1818
"//src/material/form-field",
1919
"//src/material/icon",

src/dev-app/mdc-chips/mdc-chips-demo.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,7 @@ import {Component} from '@angular/core';
1010
import {COMMA, ENTER} from '@angular/cdk/keycodes';
1111
import {CommonModule} from '@angular/common';
1212
import {ThemePalette} from '@angular/material/core';
13-
import {
14-
MatChipInputEvent,
15-
MatChipEditedEvent,
16-
MatChipsModule,
17-
} from '@angular/material-experimental/mdc-chips';
13+
import {MatChipInputEvent, MatChipEditedEvent, MatChipsModule} from '@angular/material/chips';
1814
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
1915
import {MatButtonModule} from '@angular/material-experimental/mdc-button';
2016
import {MatCardModule} from '@angular/material/card';

src/e2e-app/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ ng_module(
4343
"//src/components-examples/material-experimental/mdc-card",
4444
"//src/components-examples/private",
4545
"//src/material-experimental/mdc-button",
46-
"//src/material-experimental/mdc-chips",
4746
"//src/material-experimental/mdc-menu",
4847
"//src/material-experimental/mdc-progress-spinner",
4948
"//src/material-experimental/mdc-radio",
@@ -54,6 +53,7 @@ ng_module(
5453
"//src/material/button",
5554
"//src/material/card",
5655
"//src/material/checkbox",
56+
"//src/material/chips",
5757
"//src/material/core",
5858
"//src/material/dialog",
5959
"//src/material/grid-list",

src/e2e-app/mdc-chips/mdc-chips-e2e-module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*/
88

99
import {NgModule} from '@angular/core';
10-
import {MatChipsModule} from '@angular/material-experimental/mdc-chips';
10+
import {MatChipsModule} from '@angular/material/chips';
1111
import {MdcChipsE2e} from './mdc-chips-e2e';
1212

1313
@NgModule({

src/material-experimental/_index.scss

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
mdc-fab-density, mdc-fab-theme;
2424
@forward './mdc-button/icon-button-theme' as mdc-icon-button-* show mdc-icon-button-color,
2525
mdc-icon-button-typography, mdc-icon-button-density, mdc-icon-button-theme;
26-
@forward './mdc-chips/chips-theme' as mdc-chips-* show mdc-chips-color, mdc-chips-typography,
27-
mdc-chips-density, mdc-chips-theme;
2826
@forward './mdc-list/list-theme' as mdc-list-* show mdc-list-color, mdc-list-typography,
2927
mdc-list-density, mdc-list-theme;
3028
@forward './mdc-menu/menu-theme' as mdc-menu-* show mdc-menu-color, mdc-menu-typography,

src/material-experimental/config.bzl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ entryPoints = [
22
"column-resize",
33
"mdc-button",
44
"mdc-button/testing",
5-
"mdc-chips",
6-
"mdc-chips/testing",
75
"mdc-core",
86
"mdc-list",
97
"mdc-list/testing",

0 commit comments

Comments
 (0)