@material/web 1.0.0-pre.15 → 1.0.0-pre.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -17
- package/button/internal/_filled-button.scss +0 -1
- package/button/internal/_outlined-button.scss +6 -0
- package/button/internal/_shared.scss +7 -1
- package/button/internal/button.d.ts +15 -14
- package/button/internal/button.js +41 -39
- package/button/internal/button.js.map +1 -1
- package/button/internal/outlined-styles.css.js +1 -1
- package/button/internal/outlined-styles.css.js.map +1 -1
- package/button/internal/shared-elevation-styles.css.js +1 -1
- package/button/internal/shared-elevation-styles.css.js.map +1 -1
- package/button/internal/shared-styles.css.js +1 -1
- package/button/internal/shared-styles.css.js.map +1 -1
- package/checkbox/internal/_checkbox.scss +1 -0
- package/checkbox/internal/checkbox-styles.css.js +1 -1
- package/checkbox/internal/checkbox-styles.css.js.map +1 -1
- package/checkbox/internal/checkbox.d.ts +2 -2
- package/checkbox/internal/checkbox.js +18 -14
- package/checkbox/internal/checkbox.js.map +1 -1
- package/chips/assist-chip.js +1 -2
- package/chips/assist-chip.js.map +1 -1
- package/chips/filter-chip.js +1 -3
- package/chips/filter-chip.js.map +1 -1
- package/chips/input-chip.js +1 -5
- package/chips/input-chip.js.map +1 -1
- package/chips/internal/_assist-chip.scss +6 -0
- package/chips/internal/_elevated.scss +1 -1
- package/chips/internal/_filter-chip.scss +6 -0
- package/chips/internal/_input-chip.scss +32 -0
- package/chips/internal/_selectable.scss +17 -13
- package/chips/internal/_shared.scss +17 -10
- package/chips/internal/_suggestion-chip.scss +6 -0
- package/chips/internal/_trailing-icon.scss +24 -24
- package/chips/internal/assist-styles.css.js +1 -1
- package/chips/internal/assist-styles.css.js.map +1 -1
- package/chips/internal/elevated-styles.css.js +1 -1
- package/chips/internal/elevated-styles.css.js.map +1 -1
- package/chips/internal/filter-styles.css.js +1 -1
- package/chips/internal/filter-styles.css.js.map +1 -1
- package/chips/internal/input-styles.css.js +1 -1
- package/chips/internal/input-styles.css.js.map +1 -1
- package/chips/internal/selectable-styles.css.js +1 -1
- package/chips/internal/selectable-styles.css.js.map +1 -1
- package/chips/internal/shared-styles.css.js +1 -1
- package/chips/internal/shared-styles.css.js.map +1 -1
- package/chips/internal/suggestion-styles.css.js +1 -1
- package/chips/internal/suggestion-styles.css.js.map +1 -1
- package/chips/internal/trailing-icon-styles.css.js +1 -1
- package/chips/internal/trailing-icon-styles.css.js.map +1 -1
- package/chips/suggestion-chip.js +1 -2
- package/chips/suggestion-chip.js.map +1 -1
- package/elevation/internal/_elevation.scss +14 -7
- package/elevation/internal/elevation-styles.css.js +1 -1
- package/elevation/internal/elevation-styles.css.js.map +1 -1
- package/fab/branded-fab.d.ts +0 -1
- package/fab/internal/_fab.scss +11 -10
- package/fab/internal/_shared.scss +4 -1
- package/fab/internal/fab-styles.css.js +1 -1
- package/fab/internal/fab-styles.css.js.map +1 -1
- package/fab/internal/fab.d.ts +0 -1
- package/fab/internal/shared-styles.css.js +1 -1
- package/fab/internal/shared-styles.css.js.map +1 -1
- package/fab/internal/shared.d.ts +0 -9
- package/fab/internal/shared.js +2 -18
- package/fab/internal/shared.js.map +1 -1
- package/field/internal/filled-styles.css.js +1 -1
- package/field/internal/filled-styles.css.js.map +1 -1
- package/field/internal/outlined-styles.css.js +1 -1
- package/field/internal/outlined-styles.css.js.map +1 -1
- package/icon/internal/_icon.scss +10 -5
- package/icon/internal/icon-styles.css.js +1 -1
- package/icon/internal/icon-styles.css.js.map +1 -1
- package/iconbutton/internal/_icon-button.scss +4 -0
- package/iconbutton/internal/_shared.scss +9 -0
- package/iconbutton/internal/icon-button.d.ts +16 -3
- package/iconbutton/internal/icon-button.js +31 -7
- package/iconbutton/internal/icon-button.js.map +1 -1
- package/iconbutton/internal/shared-styles.css.js +1 -1
- package/iconbutton/internal/shared-styles.css.js.map +1 -1
- package/iconbutton/internal/standard-styles.css.js +1 -1
- package/iconbutton/internal/standard-styles.css.js.map +1 -1
- package/internal/controller/form-submitter.d.ts +12 -0
- package/internal/controller/form-submitter.js +3 -1
- package/internal/controller/form-submitter.js.map +1 -1
- package/labs/badge/internal/_badge.scss +11 -8
- package/labs/navigationbar/internal/_navigation-bar.scss +11 -9
- package/labs/navigationbar/internal/navigation-bar-styles.css.js +1 -1
- package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -1
- package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +11 -8
- package/labs/navigationdrawer/internal/_navigation-drawer.scss +11 -8
- package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js +1 -1
- package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js.map +1 -1
- package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js +1 -1
- package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js.map +1 -1
- package/labs/navigationtab/internal/_navigation-tab.scss +10 -10
- package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +1 -3
- package/labs/segmentedbutton/internal/outlined-styles.css.js +1 -1
- package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -1
- package/list/internal/_list.scss +6 -2
- package/list/internal/list-styles.css.js +1 -1
- package/list/internal/list-styles.css.js.map +1 -1
- package/list/internal/listitem/_list-item.scss +83 -93
- package/list/internal/listitem/forced-colors-styles.css.js +1 -1
- package/list/internal/listitem/forced-colors-styles.css.js.map +1 -1
- package/list/internal/listitem/forced-colors-styles.scss +6 -6
- package/list/internal/listitem/list-item-styles.css.js +1 -1
- package/list/internal/listitem/list-item-styles.css.js.map +1 -1
- package/menu/internal/_menu.scss +6 -3
- package/menu/internal/menu-styles.css.js +1 -1
- package/menu/internal/menu-styles.css.js.map +1 -1
- package/menu/internal/menu.js +6 -6
- package/menu/internal/menu.js.map +1 -1
- package/menu/internal/menuitem/_menu-item.scss +7 -4
- package/menu/internal/menuitem/menu-item-styles.css.js +1 -1
- package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -1
- package/package.json +1 -1
- package/progress/harness.js +2 -4
- package/progress/harness.js.map +1 -1
- package/progress/internal/_circular-progress.scss +4 -4
- package/progress/internal/_linear-progress.scss +93 -132
- package/progress/internal/circular-progress-styles.css.js +1 -1
- package/progress/internal/circular-progress-styles.css.js.map +1 -1
- package/progress/internal/circular-progress.js +1 -1
- package/progress/internal/circular-progress.js.map +1 -1
- package/progress/internal/linear-progress-styles.css.js +1 -1
- package/progress/internal/linear-progress-styles.css.js.map +1 -1
- package/progress/internal/linear-progress.d.ts +0 -11
- package/progress/internal/linear-progress.js +4 -48
- package/progress/internal/linear-progress.js.map +1 -1
- package/radio/internal/radio.d.ts +1 -1
- package/radio/internal/radio.js.map +1 -1
- package/ripple/internal/_ripple.scss +1 -1
- package/ripple/internal/ripple-styles.css.js +1 -1
- package/ripple/internal/ripple-styles.css.js.map +1 -1
- package/select/internal/_filled-select.scss +0 -1
- package/select/internal/_outlined-select.scss +0 -1
- package/select/internal/_shared.scss +0 -1
- package/select/internal/filled-select-styles.css.js +1 -1
- package/select/internal/filled-select-styles.css.js.map +1 -1
- package/select/internal/outlined-select-styles.css.js +1 -1
- package/select/internal/outlined-select-styles.css.js.map +1 -1
- package/slider/internal/_slider.scss +33 -28
- package/slider/internal/forced-colors-styles.css.js +1 -1
- package/slider/internal/forced-colors-styles.css.js.map +1 -1
- package/slider/internal/slider-styles.css.js +1 -1
- package/slider/internal/slider-styles.css.js.map +1 -1
- package/slider/internal/slider.d.ts +22 -8
- package/slider/internal/slider.js +113 -22
- package/slider/internal/slider.js.map +1 -1
- package/switch/internal/_switch.scss +9 -1
- package/switch/internal/switch-styles.css.js +1 -1
- package/switch/internal/switch-styles.css.js.map +1 -1
- package/switch/internal/switch.d.ts +1 -1
- package/switch/internal/switch.js +2 -2
- package/switch/internal/switch.js.map +1 -1
- package/tabs/internal/_tab.scss +76 -20
- package/tabs/internal/tab-styles.css.js +1 -1
- package/tabs/internal/tab-styles.css.js.map +1 -1
- package/tabs/internal/tab.js +0 -1
- package/tabs/internal/tab.js.map +1 -1
- package/textfield/internal/filled-styles.css.js +1 -1
- package/textfield/internal/filled-styles.css.js.map +1 -1
- package/textfield/internal/outlined-styles.css.js +1 -1
- package/textfield/internal/outlined-styles.css.js.map +1 -1
- package/textfield/internal/text-field.d.ts +11 -10
- package/textfield/internal/text-field.js +60 -32
- package/textfield/internal/text-field.js.map +1 -1
- package/tokens/_md-comp-filled-field.scss +2 -2
- package/tokens/_md-comp-filled-select.scss +3 -0
- package/tokens/_md-comp-filled-text-field.scss +3 -1
- package/tokens/_md-comp-list-item.scss +117 -103
- package/tokens/_md-comp-menu-item.scss +3 -3
- package/tokens/_md-comp-outlined-field.scss +2 -1
- package/tokens/_md-comp-outlined-select.scss +8 -0
- package/tokens/_md-comp-outlined-text-field.scss +3 -1
- package/chips/internal/assist-forced-colors-styles.css.d.ts +0 -1
- package/chips/internal/assist-forced-colors-styles.css.js +0 -9
- package/chips/internal/assist-forced-colors-styles.css.js.map +0 -1
- package/chips/internal/assist-forced-colors-styles.scss +0 -27
- package/chips/internal/filter-forced-colors-styles.css.d.ts +0 -1
- package/chips/internal/filter-forced-colors-styles.css.js +0 -9
- package/chips/internal/filter-forced-colors-styles.css.js.map +0 -1
- package/chips/internal/filter-forced-colors-styles.scss +0 -34
- package/chips/internal/input-forced-colors-styles.css.d.ts +0 -1
- package/chips/internal/input-forced-colors-styles.css.js +0 -9
- package/chips/internal/input-forced-colors-styles.css.js.map +0 -1
- package/chips/internal/input-forced-colors-styles.scss +0 -39
- package/chips/internal/suggestion-forced-colors-styles.css.d.ts +0 -1
- package/chips/internal/suggestion-forced-colors-styles.css.js +0 -9
- package/chips/internal/suggestion-forced-colors-styles.css.js.map +0 -1
- package/chips/internal/suggestion-forced-colors-styles.scss +0 -27
- package/internal/sass/_theme.scss +0 -249
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2021 Google LLC
|
|
3
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
//
|
|
5
|
-
|
|
6
|
-
// go/keep-sorted start
|
|
7
|
-
@use 'sass:list';
|
|
8
|
-
@use 'sass:map';
|
|
9
|
-
@use 'sass:meta';
|
|
10
|
-
// go/keep-sorted end
|
|
11
|
-
// go/keep-sorted start
|
|
12
|
-
@use './string-ext';
|
|
13
|
-
@use './var';
|
|
14
|
-
// go/keep-sorted end
|
|
15
|
-
|
|
16
|
-
/// Transform a user-provided `$theme` map's values into `var()` custom property
|
|
17
|
-
/// values.
|
|
18
|
-
///
|
|
19
|
-
/// Use this function in `theme-styles()` mixins to transform values into
|
|
20
|
-
/// custom property `var()` "slots" that can subsequently be styled via
|
|
21
|
-
/// `theme.emit-theme-vars()` in the `theme()` mixin by the user.
|
|
22
|
-
///
|
|
23
|
-
/// @example - scss
|
|
24
|
-
/// $light-theme: (
|
|
25
|
-
/// label-color: purple
|
|
26
|
-
/// );
|
|
27
|
-
///
|
|
28
|
-
/// @mixin theme-styles($theme) {
|
|
29
|
-
/// $theme: theme.create-theme-vars($theme, button);
|
|
30
|
-
///
|
|
31
|
-
/// .foo {
|
|
32
|
-
/// color: map.get($theme, label-color);
|
|
33
|
-
/// }
|
|
34
|
-
/// }
|
|
35
|
-
///
|
|
36
|
-
/// @example - css
|
|
37
|
-
/// .foo {
|
|
38
|
-
/// color: var(--md-button-label-color, purple);
|
|
39
|
-
/// }
|
|
40
|
-
///
|
|
41
|
-
/// @param {Map} $theme - The theme Map to transform values into custom property
|
|
42
|
-
/// `var()`s.
|
|
43
|
-
/// @param {String} $prefix - Component and variant prefix to prepend for each
|
|
44
|
-
/// token's custom property name.
|
|
45
|
-
/// @return {Map} The provided `$theme` Map whose values are replaced with the
|
|
46
|
-
/// `var()` custom properties.
|
|
47
|
-
@function create-theme-vars($theme, $prefix) {
|
|
48
|
-
@each $key, $value in $theme {
|
|
49
|
-
@if $value != null {
|
|
50
|
-
$token: combine-tokens($prefix, $key);
|
|
51
|
-
|
|
52
|
-
@if meta.type-of($value) == 'map' {
|
|
53
|
-
$value: create-theme-vars($value, $token);
|
|
54
|
-
} @else {
|
|
55
|
-
$value: var.create($token, $value);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
$theme: map.set($theme, $key, $value);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
@return $theme;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/// Emits CSS declaration values for a theme map that has been transformed with
|
|
66
|
-
/// `create-theme-vars()`.
|
|
67
|
-
///
|
|
68
|
-
/// Use this in `theme()` mixins to set user-provided token customizations.
|
|
69
|
-
///
|
|
70
|
-
/// @example - scss
|
|
71
|
-
/// $light-theme: (
|
|
72
|
-
/// label-color: purple
|
|
73
|
-
/// );
|
|
74
|
-
///
|
|
75
|
-
/// @mixin theme($theme) {
|
|
76
|
-
/// $theme: theme.create-theme-vars($theme, button);
|
|
77
|
-
///
|
|
78
|
-
/// @include theme.emit-theme-vars($theme);
|
|
79
|
-
/// }
|
|
80
|
-
///
|
|
81
|
-
/// .my-button {
|
|
82
|
-
/// @include theme((label-color: teal));
|
|
83
|
-
/// }
|
|
84
|
-
///
|
|
85
|
-
/// @example - css
|
|
86
|
-
/// .my-button {
|
|
87
|
-
/// --md-button-label-color: teal;
|
|
88
|
-
/// }
|
|
89
|
-
///
|
|
90
|
-
/// @param {Map} $theme - The theme Map to emit custom property declarations
|
|
91
|
-
/// for.
|
|
92
|
-
@mixin emit-theme-vars($theme) {
|
|
93
|
-
@each $token, $value in $theme {
|
|
94
|
-
@if $value {
|
|
95
|
-
@if meta.type-of($value) == 'map' {
|
|
96
|
-
@include emit-theme-vars($value);
|
|
97
|
-
} @else if not var.is-var($value) {
|
|
98
|
-
@error '"#{$token}": #{$value} is not a var(). Call create-theme-vars($theme) before emit-theme-vars($theme).';
|
|
99
|
-
} @else {
|
|
100
|
-
#{var.name($value)}: #{var.fallback($value)};
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
/// Combines one or more token parts into a token.
|
|
107
|
-
///
|
|
108
|
-
/// @example - scss
|
|
109
|
-
/// $key: combine(body, font-size);
|
|
110
|
-
/// // body-font-size
|
|
111
|
-
///
|
|
112
|
-
/// @param {String...} $parts - Arbitrary number of string token parts to
|
|
113
|
-
/// combine.
|
|
114
|
-
/// @return {String} A combined token string.
|
|
115
|
-
@function combine-tokens($parts...) {
|
|
116
|
-
// Allow extra keywords to be passed to other functions without impacting this
|
|
117
|
-
// function, which does not expect any keywords.
|
|
118
|
-
$unused: meta.keywords($parts);
|
|
119
|
-
$token: '';
|
|
120
|
-
@each $part in $parts {
|
|
121
|
-
@if $part {
|
|
122
|
-
@if $token == '' {
|
|
123
|
-
$token: $part;
|
|
124
|
-
} @else {
|
|
125
|
-
$token: #{$token}-#{$part};
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
@return $token;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/// Validates a theme's tokens and values and throws an error if incorrect
|
|
134
|
-
/// tokens are present or invalid values are provided.
|
|
135
|
-
///
|
|
136
|
-
/// Use this in `theme()` mixins to validate user-provided `$theme` maps before
|
|
137
|
-
/// providing the value to `theme.create-theme-vars()`.
|
|
138
|
-
///
|
|
139
|
-
/// @example - scss
|
|
140
|
-
/// @mixin theme($theme) {
|
|
141
|
-
/// $theme: theme.validate-theme($light-theme, $theme);
|
|
142
|
-
/// $theme: theme.create-theme-vars($theme, checkbox);
|
|
143
|
-
/// }
|
|
144
|
-
///
|
|
145
|
-
/// @throw If any tokens or values are invalid.
|
|
146
|
-
/// @param {Map} $reference-theme - A reference theme Map whose token keys will
|
|
147
|
-
/// be used to validate the user-provided theme.
|
|
148
|
-
/// @param {Map} $theme - User-provided theme Map to validate.
|
|
149
|
-
/// @return {Map} The validated user-provided theme Map.
|
|
150
|
-
@function validate-theme($reference-theme, $theme) {
|
|
151
|
-
$theme: _validate-theme-tokens(
|
|
152
|
-
map.keys($reference-theme),
|
|
153
|
-
$theme,
|
|
154
|
-
$require-all: false
|
|
155
|
-
);
|
|
156
|
-
|
|
157
|
-
@return $theme;
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/// Validates a theme's tokens and throws an error if incorrect tokens are
|
|
161
|
-
/// present or any tokens are missing.
|
|
162
|
-
///
|
|
163
|
-
/// Use this in internal `theme-styles()` mixins to validate library-provided
|
|
164
|
-
/// `$theme` maps and ensure that all tokens are correct and present.
|
|
165
|
-
///
|
|
166
|
-
/// @example - scss
|
|
167
|
-
/// @mixin theme-styles($theme) {
|
|
168
|
-
/// $theme: theme.validate-theme-styles($light-theme, $theme);
|
|
169
|
-
/// $theme: theme.create-theme-vars($theme, checkbox);
|
|
170
|
-
/// }
|
|
171
|
-
///
|
|
172
|
-
/// @throw If any tokens are invalid or missing.
|
|
173
|
-
/// @param {Map|List} $reference-theme - A complete reference theme Map (or List
|
|
174
|
-
/// of tokens) to validate the theme.
|
|
175
|
-
/// @param {Map} $theme - The theme Map to validate.
|
|
176
|
-
/// @return {Map} The validated theme Map.
|
|
177
|
-
@function validate-theme-styles($reference-theme, $theme, $require-all: true) {
|
|
178
|
-
$valid-tokens: $reference-theme;
|
|
179
|
-
@if meta.type-of($reference-theme) == 'map' {
|
|
180
|
-
$valid-tokens: map.keys($reference-theme);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
@return _validate-theme-tokens(
|
|
184
|
-
$valid-tokens,
|
|
185
|
-
$theme,
|
|
186
|
-
$require-all: $require-all
|
|
187
|
-
);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/// Validates a theme's tokens and throws an error if incorrect tokens are
|
|
191
|
-
/// present or optionally missing if `$require-all` is true.
|
|
192
|
-
///
|
|
193
|
-
/// @throw If any tokens are invalid or optionally missing.
|
|
194
|
-
/// @param {List} $valid-tokens - A List of token keys to validate the theme.
|
|
195
|
-
/// @param {Map} $theme - The theme Map to validate.
|
|
196
|
-
/// @param {Bool} $require-all [false] - If true, throw an error if the theme
|
|
197
|
-
/// is missing tokens from the list.
|
|
198
|
-
/// @return {Map} The validated theme Map.
|
|
199
|
-
@function _validate-theme-tokens($valid-tokens, $theme, $require-all: false) {
|
|
200
|
-
$missing-tokens: ();
|
|
201
|
-
$unsupported-tokens: ();
|
|
202
|
-
|
|
203
|
-
@each $token, $value in $theme {
|
|
204
|
-
@if list.index($valid-tokens, $token) == null {
|
|
205
|
-
$unsupported-tokens: list.append(
|
|
206
|
-
$unsupported-tokens,
|
|
207
|
-
$token,
|
|
208
|
-
$separator: comma
|
|
209
|
-
);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
@if $require-all {
|
|
214
|
-
// TODO(b/203778922): Remove when type composite tokens are removed
|
|
215
|
-
$ignore-suffix: (
|
|
216
|
-
// Ignore composite font tokens
|
|
217
|
-
'-type'
|
|
218
|
-
);
|
|
219
|
-
|
|
220
|
-
@each $token in $valid-tokens {
|
|
221
|
-
$missing: map.get($theme, $token) == null;
|
|
222
|
-
@if $missing {
|
|
223
|
-
@each $suffix in $ignore-suffix {
|
|
224
|
-
@if string-ext.has-suffix($token, $suffix) {
|
|
225
|
-
$missing: false;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
@if $missing {
|
|
231
|
-
$missing-tokens: list.append(
|
|
232
|
-
$missing-tokens,
|
|
233
|
-
$token,
|
|
234
|
-
$separator: comma
|
|
235
|
-
);
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
@if list.length($unsupported-tokens) > 0 {
|
|
241
|
-
@error 'The following tokens are invalid: #{$unsupported-tokens}.';
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
@if list.length($missing-tokens) > 0 {
|
|
245
|
-
@error 'The following required tokens are missing: #{$missing-tokens}.';
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
@return $theme;
|
|
249
|
-
}
|