Skip to content

Commit 5d13491

Browse files
crisbetojelbourn
authored andcommitted
fix(material-experimental): errors with latest MDC canary version (#18173)
A few hours ago MDC switched all their Sass to use the new Sass modules (see material-components/material-components-web@faa9af3). This breaks our MDC components since they've been set up to use global Sass variables. These changes switch all the imports to the `.import` files which use the old approach for exposing variables. (cherry picked from commit 1b16701)
1 parent 796db4d commit 5d13491

34 files changed

+699
-585
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
"@types/youtube": "^0.0.38",
5555
"@webcomponents/custom-elements": "^1.1.0",
5656
"core-js": "^2.6.9",
57-
"material-components-web": "5.0.0-canary.b602226ce.0",
57+
"material-components-web": "5.0.0-canary.faa9af310.0",
5858
"rxjs": "^6.5.3",
5959
"systemjs": "0.19.43",
6060
"tslib": "^1.10.0",
@@ -127,7 +127,7 @@
127127
"minimatch": "^3.0.4",
128128
"minimist": "^1.2.0",
129129
"moment": "^2.18.1",
130-
"node-sass": "^4.12.0",
130+
"sass": "^1.24.4",
131131
"parse5": "^5.0.0",
132132
"protractor": "^5.4.2",
133133
"requirejs": "^2.3.6",

src/material-experimental/mdc-button/_mdc-button.scss

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
@import '@material/button/mixins';
2-
@import '@material/button/variables';
3-
@import '@material/fab/mixins';
4-
@import '@material/ripple/mixins';
5-
@import '@material/icon-button/mixins';
1+
@import '@material/button/mixins.import';
2+
@import '@material/button/variables.import';
3+
@import '@material/fab/mixins.import';
4+
@import '@material/ripple/mixins.import';
5+
@import '@material/icon-button/mixins.import';
66
@import '../../material/core/ripple/ripple';
77
@import '../mdc-helpers/mdc-helpers';
88

src/material-experimental/mdc-button/button.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
@import '@material/button/mixins';
2-
@import '@material/button/variables';
3-
@import '@material/ripple/mixins';
1+
@import '@material/button/mixins.import';
2+
@import '@material/button/variables.import';
3+
@import '@material/ripple/mixins.import';
44
@import '../mdc-helpers/mdc-helpers';
55
@import '../../cdk/a11y/a11y';
66
@import '_button-base';

src/material-experimental/mdc-button/fab.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
@import '@material/fab/mixins';
2-
@import '@material/button/variables';
3-
@import '@material/theme/variables';
1+
@import '@material/fab/mixins.import';
2+
@import '@material/button/variables.import';
3+
@import '@material/theme/variables.import';
44
@import '../mdc-helpers/mdc-helpers';
55
@import '_button-base';
66

src/material-experimental/mdc-button/icon-button.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import '@material/icon-button/mixins';
1+
@import '@material/icon-button/mixins.import';
22
@import '../mdc-helpers/mdc-helpers';
33
@import '_button-base';
44

src/material-experimental/mdc-card/_mdc-card.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
@import '@material/card/mixins';
2-
@import '@material/typography/mixins';
1+
@import '@material/card/mixins.import';
2+
@import '@material/typography/mixins.import';
33
@import '../mdc-helpers/mdc-helpers';
44

55
@mixin mat-card-theme-mdc($theme) {

src/material-experimental/mdc-card/card.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import '@material/card/mixins';
1+
@import '@material/card/mixins.import';
22
@import '../mdc-helpers/mdc-helpers';
33
@import '../../cdk/a11y/a11y';
44

src/material-experimental/mdc-checkbox/_mdc-checkbox.scss

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
@import '@material/checkbox/mixins';
2-
@import '@material/checkbox/variables';
3-
@import '@material/form-field/mixins';
4-
@import '@material/ripple/variables';
5-
@import '@material/theme/functions';
1+
@import '@material/checkbox/mixins.import';
2+
@import '@material/checkbox/variables.import';
3+
@import '@material/form-field/mixins.import';
4+
@import '@material/ripple/variables.import';
5+
@import '@material/theme/functions.import';
66
@import '../mdc-helpers/mdc-helpers';
77

88
@mixin mat-checkbox-theme-mdc($theme) {

src/material-experimental/mdc-checkbox/checkbox.scss

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
@import '@material/checkbox/functions';
2-
@import '@material/checkbox/mixins';
3-
@import '@material/form-field/mixins';
4-
@import '@material/ripple/variables';
1+
@import '@material/checkbox/functions.import';
2+
@import '@material/checkbox/mixins.import';
3+
@import '@material/form-field/mixins.import';
4+
@import '@material/ripple/variables.import';
55
@import '../mdc-helpers/mdc-helpers';
66

77
@include mdc-checkbox-without-ripple($query: $mat-base-styles-query);

src/material-experimental/mdc-chips/_mdc-chips.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
@import '@material/chips/mixins';
1+
@import '@material/chips/mixins.import';
22
@import '../mdc-helpers/mdc-helpers';
3-
@import '@material/theme/functions';
3+
@import '@material/theme/functions.import';
44

55
@mixin mat-chips-theme-mdc($theme) {
66
@include mdc-chip-set-core-styles($query: $mat-theme-styles-query);

src/material-experimental/mdc-chips/chips.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import '@material/chips/mixins';
1+
@import '@material/chips/mixins.import';
22
@import '../../material/core/style/layout-common';
33
@import '../../material/core/style/noop-animation';
44
@import '../../cdk/a11y/a11y';

src/material-experimental/mdc-form-field/_form-field-sizing.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import '@material/textfield/variables';
1+
@import '@material/textfield/variables.import';
22

33
// Top spacing of the form-field outline. MDC does not have a variable for this
44
// and just hard-codes it into their styles.

src/material-experimental/mdc-form-field/_mdc-form-field.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import '@material/textfield/variables';
1+
@import '@material/textfield/variables.import';
22
@import '../mdc-helpers/mdc-helpers';
33
@import 'form-field-subscript';
44
@import 'form-field-bottom-line';

src/material-experimental/mdc-helpers/BUILD.bazel

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,112 +16,218 @@ filegroup(
1616
sass_library(
1717
name = "mdc_scss_deps_lib",
1818
srcs = [
19+
"@npm//:node_modules/@material/animation/_functions.import.scss",
1920
"@npm//:node_modules/@material/animation/_functions.scss",
21+
"@npm//:node_modules/@material/animation/_variables.import.scss",
2022
"@npm//:node_modules/@material/animation/_variables.scss",
23+
"@npm//:node_modules/@material/base/_mixins.import.scss",
2124
"@npm//:node_modules/@material/base/_mixins.scss",
25+
"@npm//:node_modules/@material/button/_mixins.import.scss",
2226
"@npm//:node_modules/@material/button/_mixins.scss",
27+
"@npm//:node_modules/@material/button/_variables.import.scss",
2328
"@npm//:node_modules/@material/button/_variables.scss",
29+
"@npm//:node_modules/@material/card/_mixins.import.scss",
2430
"@npm//:node_modules/@material/card/_mixins.scss",
31+
"@npm//:node_modules/@material/card/_variables.import.scss",
2532
"@npm//:node_modules/@material/card/_variables.scss",
33+
"@npm//:node_modules/@material/checkbox/_functions.import.scss",
2634
"@npm//:node_modules/@material/checkbox/_functions.scss",
35+
"@npm//:node_modules/@material/checkbox/_keyframes.import.scss",
2736
"@npm//:node_modules/@material/checkbox/_keyframes.scss",
37+
"@npm//:node_modules/@material/checkbox/_mixins.import.scss",
2838
"@npm//:node_modules/@material/checkbox/_mixins.scss",
39+
"@npm//:node_modules/@material/checkbox/_variables.import.scss",
2940
"@npm//:node_modules/@material/checkbox/_variables.scss",
41+
"@npm//:node_modules/@material/chips/_mixins.import.scss",
3042
"@npm//:node_modules/@material/chips/_mixins.scss",
43+
"@npm//:node_modules/@material/chips/_variables.import.scss",
3144
"@npm//:node_modules/@material/chips/_variables.scss",
45+
"@npm//:node_modules/@material/data-table/_mixins.import.scss",
3246
"@npm//:node_modules/@material/data-table/_mixins.scss",
47+
"@npm//:node_modules/@material/data-table/_variables.import.scss",
3348
"@npm//:node_modules/@material/data-table/_variables.scss",
49+
"@npm//:node_modules/@material/density/_functions.import.scss",
3450
"@npm//:node_modules/@material/density/_functions.scss",
51+
"@npm//:node_modules/@material/density/_variables.import.scss",
3552
"@npm//:node_modules/@material/density/_variables.scss",
53+
"@npm//:node_modules/@material/dialog/_mixins.import.scss",
3654
"@npm//:node_modules/@material/dialog/_mixins.scss",
55+
"@npm//:node_modules/@material/dialog/_variables.import.scss",
3756
"@npm//:node_modules/@material/dialog/_variables.scss",
57+
"@npm//:node_modules/@material/drawer/_mixins.import.scss",
3858
"@npm//:node_modules/@material/drawer/_mixins.scss",
59+
"@npm//:node_modules/@material/drawer/_variables.import.scss",
3960
"@npm//:node_modules/@material/drawer/_variables.scss",
61+
"@npm//:node_modules/@material/elevation/_functions.import.scss",
4062
"@npm//:node_modules/@material/elevation/_functions.scss",
63+
"@npm//:node_modules/@material/elevation/_mixins.import.scss",
4164
"@npm//:node_modules/@material/elevation/_mixins.scss",
65+
"@npm//:node_modules/@material/elevation/_variables.import.scss",
4266
"@npm//:node_modules/@material/elevation/_variables.scss",
67+
"@npm//:node_modules/@material/fab/_mixins.import.scss",
4368
"@npm//:node_modules/@material/fab/_mixins.scss",
69+
"@npm//:node_modules/@material/fab/_variables.import.scss",
4470
"@npm//:node_modules/@material/fab/_variables.scss",
71+
"@npm//:node_modules/@material/feature-targeting/_functions.import.scss",
4572
"@npm//:node_modules/@material/feature-targeting/_functions.scss",
73+
"@npm//:node_modules/@material/feature-targeting/_mixins.import.scss",
4674
"@npm//:node_modules/@material/feature-targeting/_mixins.scss",
75+
"@npm//:node_modules/@material/feature-targeting/_variables.import.scss",
4776
"@npm//:node_modules/@material/feature-targeting/_variables.scss",
77+
"@npm//:node_modules/@material/floating-label/_mixins.import.scss",
4878
"@npm//:node_modules/@material/floating-label/_mixins.scss",
79+
"@npm//:node_modules/@material/floating-label/_variables.import.scss",
4980
"@npm//:node_modules/@material/floating-label/_variables.scss",
81+
"@npm//:node_modules/@material/form-field/_mixins.import.scss",
5082
"@npm//:node_modules/@material/form-field/_mixins.scss",
83+
"@npm//:node_modules/@material/form-field/_variables.import.scss",
5184
"@npm//:node_modules/@material/form-field/_variables.scss",
85+
"@npm//:node_modules/@material/grid-list/_mixins.import.scss",
5286
"@npm//:node_modules/@material/grid-list/_mixins.scss",
87+
"@npm//:node_modules/@material/grid-list/_variables.import.scss",
5388
"@npm//:node_modules/@material/grid-list/_variables.scss",
89+
"@npm//:node_modules/@material/icon-button/_mixins.import.scss",
5490
"@npm//:node_modules/@material/icon-button/_mixins.scss",
91+
"@npm//:node_modules/@material/icon-button/_variables.import.scss",
5592
"@npm//:node_modules/@material/icon-button/_variables.scss",
93+
"@npm//:node_modules/@material/image-list/_mixins.import.scss",
5694
"@npm//:node_modules/@material/image-list/_mixins.scss",
95+
"@npm//:node_modules/@material/image-list/_variables.import.scss",
5796
"@npm//:node_modules/@material/image-list/_variables.scss",
97+
"@npm//:node_modules/@material/layout-grid/_mixins.import.scss",
5898
"@npm//:node_modules/@material/layout-grid/_mixins.scss",
99+
"@npm//:node_modules/@material/layout-grid/_variables.import.scss",
59100
"@npm//:node_modules/@material/layout-grid/_variables.scss",
101+
"@npm//:node_modules/@material/line-ripple/_functions.import.scss",
60102
"@npm//:node_modules/@material/line-ripple/_functions.scss",
103+
"@npm//:node_modules/@material/line-ripple/_mixins.import.scss",
61104
"@npm//:node_modules/@material/line-ripple/_mixins.scss",
105+
"@npm//:node_modules/@material/linear-progress/_keyframes.import.scss",
62106
"@npm//:node_modules/@material/linear-progress/_keyframes.scss",
107+
"@npm//:node_modules/@material/linear-progress/_mixins.import.scss",
63108
"@npm//:node_modules/@material/linear-progress/_mixins.scss",
109+
"@npm//:node_modules/@material/linear-progress/_variables.import.scss",
64110
"@npm//:node_modules/@material/linear-progress/_variables.scss",
111+
"@npm//:node_modules/@material/list/_mixins.import.scss",
65112
"@npm//:node_modules/@material/list/_mixins.scss",
113+
"@npm//:node_modules/@material/list/_variables.import.scss",
66114
"@npm//:node_modules/@material/list/_variables.scss",
115+
"@npm//:node_modules/@material/menu-surface/_mixins.import.scss",
67116
"@npm//:node_modules/@material/menu-surface/_mixins.scss",
117+
"@npm//:node_modules/@material/menu-surface/_variables.import.scss",
68118
"@npm//:node_modules/@material/menu-surface/_variables.scss",
119+
"@npm//:node_modules/@material/menu/_mixins.import.scss",
69120
"@npm//:node_modules/@material/menu/_mixins.scss",
121+
"@npm//:node_modules/@material/menu/_variables.import.scss",
70122
"@npm//:node_modules/@material/menu/_variables.scss",
123+
"@npm//:node_modules/@material/notched-outline/_mixins.import.scss",
71124
"@npm//:node_modules/@material/notched-outline/_mixins.scss",
125+
"@npm//:node_modules/@material/notched-outline/_variables.import.scss",
72126
"@npm//:node_modules/@material/notched-outline/_variables.scss",
127+
"@npm//:node_modules/@material/radio/_functions.import.scss",
73128
"@npm//:node_modules/@material/radio/_functions.scss",
129+
"@npm//:node_modules/@material/radio/_mixins.import.scss",
74130
"@npm//:node_modules/@material/radio/_mixins.scss",
131+
"@npm//:node_modules/@material/radio/_variables.import.scss",
75132
"@npm//:node_modules/@material/radio/_variables.scss",
133+
"@npm//:node_modules/@material/ripple/_functions.import.scss",
76134
"@npm//:node_modules/@material/ripple/_functions.scss",
135+
"@npm//:node_modules/@material/ripple/_keyframes.import.scss",
77136
"@npm//:node_modules/@material/ripple/_keyframes.scss",
137+
"@npm//:node_modules/@material/ripple/_mixins.import.scss",
78138
"@npm//:node_modules/@material/ripple/_mixins.scss",
139+
"@npm//:node_modules/@material/ripple/_variables.import.scss",
79140
"@npm//:node_modules/@material/ripple/_variables.scss",
141+
"@npm//:node_modules/@material/rtl/_mixins.import.scss",
80142
"@npm//:node_modules/@material/rtl/_mixins.scss",
143+
"@npm//:node_modules/@material/rtl/_variables.import.scss",
81144
"@npm//:node_modules/@material/rtl/_variables.scss",
145+
"@npm//:node_modules/@material/select/_functions.import.scss",
82146
"@npm//:node_modules/@material/select/_functions.scss",
83147
"@npm//:node_modules/@material/select/_keyframes.scss",
148+
"@npm//:node_modules/@material/select/_mixins.import.scss",
84149
"@npm//:node_modules/@material/select/_mixins.scss",
150+
"@npm//:node_modules/@material/select/_variables.import.scss",
85151
"@npm//:node_modules/@material/select/_variables.scss",
152+
"@npm//:node_modules/@material/select/helper-text/_mixins.import.scss",
86153
"@npm//:node_modules/@material/select/helper-text/_mixins.scss",
154+
"@npm//:node_modules/@material/select/icon/_mixins.import.scss",
87155
"@npm//:node_modules/@material/select/icon/_mixins.scss",
156+
"@npm//:node_modules/@material/select/icon/_variables.import.scss",
88157
"@npm//:node_modules/@material/select/icon/_variables.scss",
158+
"@npm//:node_modules/@material/shape/_functions.import.scss",
89159
"@npm//:node_modules/@material/shape/_functions.scss",
160+
"@npm//:node_modules/@material/shape/_mixins.import.scss",
90161
"@npm//:node_modules/@material/shape/_mixins.scss",
162+
"@npm//:node_modules/@material/shape/_variables.import.scss",
91163
"@npm//:node_modules/@material/shape/_variables.scss",
164+
"@npm//:node_modules/@material/slider/_keyframes.import.scss",
92165
"@npm//:node_modules/@material/slider/_keyframes.scss",
166+
"@npm//:node_modules/@material/slider/_mixins.import.scss",
93167
"@npm//:node_modules/@material/slider/_mixins.scss",
168+
"@npm//:node_modules/@material/slider/_variables.import.scss",
94169
"@npm//:node_modules/@material/slider/_variables.scss",
170+
"@npm//:node_modules/@material/snackbar/_mixins.import.scss",
95171
"@npm//:node_modules/@material/snackbar/_mixins.scss",
172+
"@npm//:node_modules/@material/snackbar/_variables.import.scss",
96173
"@npm//:node_modules/@material/snackbar/_variables.scss",
174+
"@npm//:node_modules/@material/switch/_functions.import.scss",
97175
"@npm//:node_modules/@material/switch/_functions.scss",
176+
"@npm//:node_modules/@material/switch/_mixins.import.scss",
98177
"@npm//:node_modules/@material/switch/_mixins.scss",
178+
"@npm//:node_modules/@material/switch/_variables.import.scss",
99179
"@npm//:node_modules/@material/switch/_variables.scss",
180+
"@npm//:node_modules/@material/tab-bar/_mixins.import.scss",
100181
"@npm//:node_modules/@material/tab-bar/_mixins.scss",
182+
"@npm//:node_modules/@material/tab-bar/_variables.import.scss",
101183
"@npm//:node_modules/@material/tab-bar/_variables.scss",
184+
"@npm//:node_modules/@material/tab-indicator/_mixins.import.scss",
102185
"@npm//:node_modules/@material/tab-indicator/_mixins.scss",
186+
"@npm//:node_modules/@material/tab-scroller/_mixins.import.scss",
103187
"@npm//:node_modules/@material/tab-scroller/_mixins.scss",
188+
"@npm//:node_modules/@material/tab-scroller/_variables.import.scss",
104189
"@npm//:node_modules/@material/tab-scroller/_variables.scss",
190+
"@npm//:node_modules/@material/tab/_mixins.import.scss",
105191
"@npm//:node_modules/@material/tab/_mixins.scss",
192+
"@npm//:node_modules/@material/tab/_variables.import.scss",
106193
"@npm//:node_modules/@material/tab/_variables.scss",
194+
"@npm//:node_modules/@material/textfield/_functions.import.scss",
107195
"@npm//:node_modules/@material/textfield/_functions.scss",
196+
"@npm//:node_modules/@material/textfield/_mixins.import.scss",
108197
"@npm//:node_modules/@material/textfield/_mixins.scss",
198+
"@npm//:node_modules/@material/textfield/_variables.import.scss",
109199
"@npm//:node_modules/@material/textfield/_variables.scss",
200+
"@npm//:node_modules/@material/textfield/character-counter/_mixins.import.scss",
110201
"@npm//:node_modules/@material/textfield/character-counter/_mixins.scss",
202+
"@npm//:node_modules/@material/textfield/helper-text/_mixins.import.scss",
111203
"@npm//:node_modules/@material/textfield/helper-text/_mixins.scss",
204+
"@npm//:node_modules/@material/textfield/icon/_mixins.import.scss",
112205
"@npm//:node_modules/@material/textfield/icon/_mixins.scss",
206+
"@npm//:node_modules/@material/textfield/icon/_variables.import.scss",
113207
"@npm//:node_modules/@material/textfield/icon/_variables.scss",
208+
"@npm//:node_modules/@material/theme/_color-palette.import.scss",
114209
"@npm//:node_modules/@material/theme/_color-palette.scss",
210+
"@npm//:node_modules/@material/theme/_constants.import.scss",
115211
"@npm//:node_modules/@material/theme/_constants.scss",
212+
"@npm//:node_modules/@material/theme/_functions.import.scss",
116213
"@npm//:node_modules/@material/theme/_functions.scss",
214+
"@npm//:node_modules/@material/theme/_mixins.import.scss",
117215
"@npm//:node_modules/@material/theme/_mixins.scss",
216+
"@npm//:node_modules/@material/theme/_variables.import.scss",
118217
"@npm//:node_modules/@material/theme/_variables.scss",
218+
"@npm//:node_modules/@material/top-app-bar/_mixins.import.scss",
119219
"@npm//:node_modules/@material/top-app-bar/_mixins.scss",
220+
"@npm//:node_modules/@material/top-app-bar/_variables.import.scss",
120221
"@npm//:node_modules/@material/top-app-bar/_variables.scss",
222+
"@npm//:node_modules/@material/touch-target/_mixins.import.scss",
121223
"@npm//:node_modules/@material/touch-target/_mixins.scss",
224+
"@npm//:node_modules/@material/touch-target/_variables.import.scss",
122225
"@npm//:node_modules/@material/touch-target/_variables.scss",
226+
"@npm//:node_modules/@material/typography/_functions.import.scss",
123227
"@npm//:node_modules/@material/typography/_functions.scss",
228+
"@npm//:node_modules/@material/typography/_mixins.import.scss",
124229
"@npm//:node_modules/@material/typography/_mixins.scss",
230+
"@npm//:node_modules/@material/typography/_variables.import.scss",
125231
"@npm//:node_modules/@material/typography/_variables.scss",
126232
],
127233
)

src/material-experimental/mdc-helpers/_mdc-helpers.scss

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
// "theming", "typography", "core". Currently splitting it is difficult because of our brittle
33
// gulp-based release build process. We can update this when we switch to bazel.
44

5-
@import '@material/feature-targeting/functions';
6-
@import '@material/theme/functions';
7-
@import '@material/theme/variables';
8-
@import '@material/typography/variables';
5+
@import '@material/feature-targeting/functions.import';
6+
@import '@material/theme/functions.import';
7+
@import '@material/theme/variables.import';
8+
@import '@material/typography/variables.import';
99
@import '../../material/core/theming/theming';
1010
@import '../../material/core/typography/typography';
1111

0 commit comments

Comments
 (0)