Skip to content

Commit c04bd21

Browse files
authored
fix(material-experimental/mdc-slide-toggle): set $deprecated-suffix on import (#22645)
* fix(material-experimental/mdc-slide-toggle): set $deprecated-suffix on import * build: update to mdc nightly * ci: fix lint check * build: update to latest MDC canary
1 parent 5832463 commit c04bd21

File tree

6 files changed

+1277
-640
lines changed

6 files changed

+1277
-640
lines changed

package.json

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@
6262
"@types/googlemaps": "^3.43.1",
6363
"@types/youtube": "^0.0.42",
6464
"core-js-bundle": "^3.8.2",
65-
"material-components-web": "12.0.0-canary.03f525f9f.0",
65+
"material-components-web": "^12.0.0-canary.a23ecb682.0",
6666
"rxjs": "^6.5.3",
6767
"rxjs-tslint-rules": "^4.33.1",
6868
"systemjs": "0.19.43",
@@ -91,53 +91,53 @@
9191
"@bazel/terser": "3.3.0",
9292
"@bazel/typescript": "3.3.0",
9393
"@firebase/app-types": "^0.6.1",
94-
"@material/animation": "12.0.0-canary.03f525f9f.0",
95-
"@material/auto-init": "12.0.0-canary.03f525f9f.0",
96-
"@material/banner": "12.0.0-canary.03f525f9f.0",
97-
"@material/base": "12.0.0-canary.03f525f9f.0",
98-
"@material/button": "12.0.0-canary.03f525f9f.0",
99-
"@material/card": "12.0.0-canary.03f525f9f.0",
100-
"@material/checkbox": "12.0.0-canary.03f525f9f.0",
101-
"@material/chips": "12.0.0-canary.03f525f9f.0",
102-
"@material/circular-progress": "12.0.0-canary.03f525f9f.0",
103-
"@material/data-table": "12.0.0-canary.03f525f9f.0",
104-
"@material/density": "12.0.0-canary.03f525f9f.0",
105-
"@material/dialog": "12.0.0-canary.03f525f9f.0",
106-
"@material/dom": "12.0.0-canary.03f525f9f.0",
107-
"@material/drawer": "12.0.0-canary.03f525f9f.0",
108-
"@material/elevation": "12.0.0-canary.03f525f9f.0",
109-
"@material/fab": "12.0.0-canary.03f525f9f.0",
110-
"@material/feature-targeting": "12.0.0-canary.03f525f9f.0",
111-
"@material/floating-label": "12.0.0-canary.03f525f9f.0",
112-
"@material/form-field": "12.0.0-canary.03f525f9f.0",
113-
"@material/icon-button": "12.0.0-canary.03f525f9f.0",
114-
"@material/image-list": "12.0.0-canary.03f525f9f.0",
115-
"@material/layout-grid": "12.0.0-canary.03f525f9f.0",
116-
"@material/line-ripple": "12.0.0-canary.03f525f9f.0",
117-
"@material/linear-progress": "12.0.0-canary.03f525f9f.0",
118-
"@material/list": "12.0.0-canary.03f525f9f.0",
119-
"@material/menu": "12.0.0-canary.03f525f9f.0",
120-
"@material/menu-surface": "12.0.0-canary.03f525f9f.0",
121-
"@material/notched-outline": "12.0.0-canary.03f525f9f.0",
122-
"@material/radio": "12.0.0-canary.03f525f9f.0",
123-
"@material/ripple": "12.0.0-canary.03f525f9f.0",
124-
"@material/rtl": "12.0.0-canary.03f525f9f.0",
125-
"@material/segmented-button": "12.0.0-canary.03f525f9f.0",
126-
"@material/select": "12.0.0-canary.03f525f9f.0",
127-
"@material/shape": "12.0.0-canary.03f525f9f.0",
128-
"@material/slider": "12.0.0-canary.03f525f9f.0",
129-
"@material/snackbar": "12.0.0-canary.03f525f9f.0",
130-
"@material/switch": "12.0.0-canary.03f525f9f.0",
131-
"@material/tab": "12.0.0-canary.03f525f9f.0",
132-
"@material/tab-bar": "12.0.0-canary.03f525f9f.0",
133-
"@material/tab-indicator": "12.0.0-canary.03f525f9f.0",
134-
"@material/tab-scroller": "12.0.0-canary.03f525f9f.0",
135-
"@material/textfield": "12.0.0-canary.03f525f9f.0",
136-
"@material/theme": "12.0.0-canary.03f525f9f.0",
137-
"@material/tooltip": "12.0.0-canary.03f525f9f.0",
138-
"@material/top-app-bar": "12.0.0-canary.03f525f9f.0",
139-
"@material/touch-target": "12.0.0-canary.03f525f9f.0",
140-
"@material/typography": "12.0.0-canary.03f525f9f.0",
94+
"@material/animation": "^12.0.0-canary.a23ecb682.0",
95+
"@material/auto-init": "^12.0.0-canary.a23ecb682.0",
96+
"@material/banner": "^12.0.0-canary.a23ecb682.0",
97+
"@material/base": "^12.0.0-canary.a23ecb682.0",
98+
"@material/button": "^12.0.0-canary.a23ecb682.0",
99+
"@material/card": "^12.0.0-canary.a23ecb682.0",
100+
"@material/checkbox": "^12.0.0-canary.a23ecb682.0",
101+
"@material/chips": "^12.0.0-canary.a23ecb682.0",
102+
"@material/circular-progress": "^12.0.0-canary.a23ecb682.0",
103+
"@material/data-table": "^12.0.0-canary.a23ecb682.0",
104+
"@material/density": "^12.0.0-canary.a23ecb682.0",
105+
"@material/dialog": "^12.0.0-canary.a23ecb682.0",
106+
"@material/dom": "^12.0.0-canary.a23ecb682.0",
107+
"@material/drawer": "^12.0.0-canary.a23ecb682.0",
108+
"@material/elevation": "^12.0.0-canary.a23ecb682.0",
109+
"@material/fab": "^12.0.0-canary.a23ecb682.0",
110+
"@material/feature-targeting": "^12.0.0-canary.a23ecb682.0",
111+
"@material/floating-label": "^12.0.0-canary.a23ecb682.0",
112+
"@material/form-field": "^12.0.0-canary.a23ecb682.0",
113+
"@material/icon-button": "^12.0.0-canary.a23ecb682.0",
114+
"@material/image-list": "^12.0.0-canary.a23ecb682.0",
115+
"@material/layout-grid": "^12.0.0-canary.a23ecb682.0",
116+
"@material/line-ripple": "^12.0.0-canary.a23ecb682.0",
117+
"@material/linear-progress": "^12.0.0-canary.a23ecb682.0",
118+
"@material/list": "^12.0.0-canary.a23ecb682.0",
119+
"@material/menu": "^12.0.0-canary.a23ecb682.0",
120+
"@material/menu-surface": "^12.0.0-canary.a23ecb682.0",
121+
"@material/notched-outline": "^12.0.0-canary.a23ecb682.0",
122+
"@material/radio": "^12.0.0-canary.a23ecb682.0",
123+
"@material/ripple": "^12.0.0-canary.a23ecb682.0",
124+
"@material/rtl": "^12.0.0-canary.a23ecb682.0",
125+
"@material/segmented-button": "^12.0.0-canary.a23ecb682.0",
126+
"@material/select": "^12.0.0-canary.a23ecb682.0",
127+
"@material/shape": "^12.0.0-canary.a23ecb682.0",
128+
"@material/slider": "^12.0.0-canary.a23ecb682.0",
129+
"@material/snackbar": "^12.0.0-canary.a23ecb682.0",
130+
"@material/switch": "^12.0.0-canary.a23ecb682.0",
131+
"@material/tab": "^12.0.0-canary.a23ecb682.0",
132+
"@material/tab-bar": "^12.0.0-canary.a23ecb682.0",
133+
"@material/tab-indicator": "^12.0.0-canary.a23ecb682.0",
134+
"@material/tab-scroller": "^12.0.0-canary.a23ecb682.0",
135+
"@material/textfield": "^12.0.0-canary.a23ecb682.0",
136+
"@material/theme": "^12.0.0-canary.a23ecb682.0",
137+
"@material/tooltip": "^12.0.0-canary.a23ecb682.0",
138+
"@material/top-app-bar": "^12.0.0-canary.a23ecb682.0",
139+
"@material/touch-target": "^12.0.0-canary.a23ecb682.0",
140+
"@material/typography": "^12.0.0-canary.a23ecb682.0",
141141
"@octokit/rest": "18.3.5",
142142
"@schematics/angular": "^12.0.0",
143143
"@types/autoprefixer": "^9.7.2",

packages.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# all in-sync. This map is passed to each ng_package rule to stamp out the appropriate
33
# version for the placeholders.
44
ANGULAR_PACKAGE_VERSION = "^12.0.0 || ^13.0.0-0"
5-
MDC_PACKAGE_VERSION = "^12.0.0-canary.af453daf8.0"
5+
MDC_PACKAGE_VERSION = "^12.0.0-canary.a23ecb682.0"
66
TSLIB_PACKAGE_VERSION = "^2.1.0"
77
RXJS_PACKAGE_VERSION = "^6.5.3"
88

src/material-experimental/mdc-slide-toggle/_slide-toggle-theme.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
@use '@material/theme/theme-color' as mdc-theme-color;
2-
@use '@material/switch/deprecated' as mdc-switch;
2+
@use '@material/switch/deprecated' as mdc-switch with ($deprecated-suffix: '');
33
@use '@material/form-field' as mdc-form-field;
44
@use 'sass:map';
55
@use '../mdc-helpers/mdc-helpers';

src/material-experimental/mdc-slide-toggle/slide-toggle.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@use '@material/switch/deprecated' as mdc-switch;
1+
@use '@material/switch/deprecated' as mdc-switch with ($deprecated-suffix: '');
22
@use '@material/form-field' as mdc-form-field;
33
@use '@material/ripple' as mdc-ripple;
44
@use 'sass:map';

tools/stylelint/no-unused-import.ts

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,34 +49,34 @@ const factory = (isEnabled: boolean, _options: never, context: {fix: boolean}) =
4949

5050
/** Extracts the namespace of an `@use` rule from its parameters. */
5151
function extractNamespaceFromUseStatement(params: string): string|null {
52-
const closeQuoteIndex = Math.max(params.lastIndexOf(`"`), params.lastIndexOf(`'`));
52+
const openQuoteIndex = Math.max(params.indexOf(`"`), params.indexOf(`'`));
53+
const closeQuoteIndex =
54+
Math.max(params.indexOf(`"`, openQuoteIndex + 1), params.indexOf(`'`, openQuoteIndex + 1));
5355

5456
if (closeQuoteIndex > -1) {
5557
const asExpression = 'as ';
5658
const asIndex = params.indexOf(asExpression, closeQuoteIndex);
59+
const withIndex = params.indexOf(' with', asIndex);
5760

5861
// If we found an ` as ` expression, we consider the rest of the text as the namespace.
5962
if (asIndex > -1) {
60-
return params.slice(asIndex + asExpression.length).trim();
63+
return withIndex == -1 ?
64+
params.slice(asIndex + asExpression.length).trim() :
65+
params.slice(asIndex + asExpression.length, withIndex).trim();
6166
}
6267

63-
const openQuoteIndex = Math.max(params.lastIndexOf(`"`, closeQuoteIndex - 1),
64-
params.lastIndexOf(`'`, closeQuoteIndex - 1));
68+
const importPath = params.slice(openQuoteIndex + 1, closeQuoteIndex)
69+
// Sass allows for leading underscores to be omitted and it technically supports .scss.
70+
.replace(/^_|(\.import)?\.scss$|\.import$/g, '');
6571

66-
if (openQuoteIndex > -1) {
67-
const importPath = params.slice(openQuoteIndex + 1, closeQuoteIndex)
68-
// Sass allows for leading underscores to be omitted and it technically supports .scss.
69-
.replace(/^_|(\.import)?\.scss$|\.import$/g, '');
70-
71-
// Built-in Sass imports look like `sass:map`.
72-
if (importPath.startsWith('sass:')) {
73-
return importPath.split('sass:')[1];
74-
}
75-
76-
// Sass ignores `/index` and infers the namespace as the next segment in the path.
77-
const fileName = basename(importPath);
78-
return fileName === 'index' ? basename(join(fileName, '..')) : fileName;
72+
// Built-in Sass imports look like `sass:map`.
73+
if (importPath.startsWith('sass:')) {
74+
return importPath.split('sass:')[1];
7975
}
76+
77+
// Sass ignores `/index` and infers the namespace as the next segment in the path.
78+
const fileName = basename(importPath);
79+
return fileName === 'index' ? basename(join(fileName, '..')) : fileName;
8080
}
8181

8282
return null;

0 commit comments

Comments
 (0)