@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.
Files changed (192) hide show
  1. package/README.md +22 -17
  2. package/button/internal/_filled-button.scss +0 -1
  3. package/button/internal/_outlined-button.scss +6 -0
  4. package/button/internal/_shared.scss +7 -1
  5. package/button/internal/button.d.ts +15 -14
  6. package/button/internal/button.js +41 -39
  7. package/button/internal/button.js.map +1 -1
  8. package/button/internal/outlined-styles.css.js +1 -1
  9. package/button/internal/outlined-styles.css.js.map +1 -1
  10. package/button/internal/shared-elevation-styles.css.js +1 -1
  11. package/button/internal/shared-elevation-styles.css.js.map +1 -1
  12. package/button/internal/shared-styles.css.js +1 -1
  13. package/button/internal/shared-styles.css.js.map +1 -1
  14. package/checkbox/internal/_checkbox.scss +1 -0
  15. package/checkbox/internal/checkbox-styles.css.js +1 -1
  16. package/checkbox/internal/checkbox-styles.css.js.map +1 -1
  17. package/checkbox/internal/checkbox.d.ts +2 -2
  18. package/checkbox/internal/checkbox.js +18 -14
  19. package/checkbox/internal/checkbox.js.map +1 -1
  20. package/chips/assist-chip.js +1 -2
  21. package/chips/assist-chip.js.map +1 -1
  22. package/chips/filter-chip.js +1 -3
  23. package/chips/filter-chip.js.map +1 -1
  24. package/chips/input-chip.js +1 -5
  25. package/chips/input-chip.js.map +1 -1
  26. package/chips/internal/_assist-chip.scss +6 -0
  27. package/chips/internal/_elevated.scss +1 -1
  28. package/chips/internal/_filter-chip.scss +6 -0
  29. package/chips/internal/_input-chip.scss +32 -0
  30. package/chips/internal/_selectable.scss +17 -13
  31. package/chips/internal/_shared.scss +17 -10
  32. package/chips/internal/_suggestion-chip.scss +6 -0
  33. package/chips/internal/_trailing-icon.scss +24 -24
  34. package/chips/internal/assist-styles.css.js +1 -1
  35. package/chips/internal/assist-styles.css.js.map +1 -1
  36. package/chips/internal/elevated-styles.css.js +1 -1
  37. package/chips/internal/elevated-styles.css.js.map +1 -1
  38. package/chips/internal/filter-styles.css.js +1 -1
  39. package/chips/internal/filter-styles.css.js.map +1 -1
  40. package/chips/internal/input-styles.css.js +1 -1
  41. package/chips/internal/input-styles.css.js.map +1 -1
  42. package/chips/internal/selectable-styles.css.js +1 -1
  43. package/chips/internal/selectable-styles.css.js.map +1 -1
  44. package/chips/internal/shared-styles.css.js +1 -1
  45. package/chips/internal/shared-styles.css.js.map +1 -1
  46. package/chips/internal/suggestion-styles.css.js +1 -1
  47. package/chips/internal/suggestion-styles.css.js.map +1 -1
  48. package/chips/internal/trailing-icon-styles.css.js +1 -1
  49. package/chips/internal/trailing-icon-styles.css.js.map +1 -1
  50. package/chips/suggestion-chip.js +1 -2
  51. package/chips/suggestion-chip.js.map +1 -1
  52. package/elevation/internal/_elevation.scss +14 -7
  53. package/elevation/internal/elevation-styles.css.js +1 -1
  54. package/elevation/internal/elevation-styles.css.js.map +1 -1
  55. package/fab/branded-fab.d.ts +0 -1
  56. package/fab/internal/_fab.scss +11 -10
  57. package/fab/internal/_shared.scss +4 -1
  58. package/fab/internal/fab-styles.css.js +1 -1
  59. package/fab/internal/fab-styles.css.js.map +1 -1
  60. package/fab/internal/fab.d.ts +0 -1
  61. package/fab/internal/shared-styles.css.js +1 -1
  62. package/fab/internal/shared-styles.css.js.map +1 -1
  63. package/fab/internal/shared.d.ts +0 -9
  64. package/fab/internal/shared.js +2 -18
  65. package/fab/internal/shared.js.map +1 -1
  66. package/field/internal/filled-styles.css.js +1 -1
  67. package/field/internal/filled-styles.css.js.map +1 -1
  68. package/field/internal/outlined-styles.css.js +1 -1
  69. package/field/internal/outlined-styles.css.js.map +1 -1
  70. package/icon/internal/_icon.scss +10 -5
  71. package/icon/internal/icon-styles.css.js +1 -1
  72. package/icon/internal/icon-styles.css.js.map +1 -1
  73. package/iconbutton/internal/_icon-button.scss +4 -0
  74. package/iconbutton/internal/_shared.scss +9 -0
  75. package/iconbutton/internal/icon-button.d.ts +16 -3
  76. package/iconbutton/internal/icon-button.js +31 -7
  77. package/iconbutton/internal/icon-button.js.map +1 -1
  78. package/iconbutton/internal/shared-styles.css.js +1 -1
  79. package/iconbutton/internal/shared-styles.css.js.map +1 -1
  80. package/iconbutton/internal/standard-styles.css.js +1 -1
  81. package/iconbutton/internal/standard-styles.css.js.map +1 -1
  82. package/internal/controller/form-submitter.d.ts +12 -0
  83. package/internal/controller/form-submitter.js +3 -1
  84. package/internal/controller/form-submitter.js.map +1 -1
  85. package/labs/badge/internal/_badge.scss +11 -8
  86. package/labs/navigationbar/internal/_navigation-bar.scss +11 -9
  87. package/labs/navigationbar/internal/navigation-bar-styles.css.js +1 -1
  88. package/labs/navigationbar/internal/navigation-bar-styles.css.js.map +1 -1
  89. package/labs/navigationdrawer/internal/_navigation-drawer-modal.scss +11 -8
  90. package/labs/navigationdrawer/internal/_navigation-drawer.scss +11 -8
  91. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js +1 -1
  92. package/labs/navigationdrawer/internal/navigation-drawer-modal-styles.css.js.map +1 -1
  93. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js +1 -1
  94. package/labs/navigationdrawer/internal/navigation-drawer-styles.css.js.map +1 -1
  95. package/labs/navigationtab/internal/_navigation-tab.scss +10 -10
  96. package/labs/segmentedbutton/internal/_outlined-segmented-button.scss +1 -3
  97. package/labs/segmentedbutton/internal/outlined-styles.css.js +1 -1
  98. package/labs/segmentedbutton/internal/outlined-styles.css.js.map +1 -1
  99. package/list/internal/_list.scss +6 -2
  100. package/list/internal/list-styles.css.js +1 -1
  101. package/list/internal/list-styles.css.js.map +1 -1
  102. package/list/internal/listitem/_list-item.scss +83 -93
  103. package/list/internal/listitem/forced-colors-styles.css.js +1 -1
  104. package/list/internal/listitem/forced-colors-styles.css.js.map +1 -1
  105. package/list/internal/listitem/forced-colors-styles.scss +6 -6
  106. package/list/internal/listitem/list-item-styles.css.js +1 -1
  107. package/list/internal/listitem/list-item-styles.css.js.map +1 -1
  108. package/menu/internal/_menu.scss +6 -3
  109. package/menu/internal/menu-styles.css.js +1 -1
  110. package/menu/internal/menu-styles.css.js.map +1 -1
  111. package/menu/internal/menu.js +6 -6
  112. package/menu/internal/menu.js.map +1 -1
  113. package/menu/internal/menuitem/_menu-item.scss +7 -4
  114. package/menu/internal/menuitem/menu-item-styles.css.js +1 -1
  115. package/menu/internal/menuitem/menu-item-styles.css.js.map +1 -1
  116. package/package.json +1 -1
  117. package/progress/harness.js +2 -4
  118. package/progress/harness.js.map +1 -1
  119. package/progress/internal/_circular-progress.scss +4 -4
  120. package/progress/internal/_linear-progress.scss +93 -132
  121. package/progress/internal/circular-progress-styles.css.js +1 -1
  122. package/progress/internal/circular-progress-styles.css.js.map +1 -1
  123. package/progress/internal/circular-progress.js +1 -1
  124. package/progress/internal/circular-progress.js.map +1 -1
  125. package/progress/internal/linear-progress-styles.css.js +1 -1
  126. package/progress/internal/linear-progress-styles.css.js.map +1 -1
  127. package/progress/internal/linear-progress.d.ts +0 -11
  128. package/progress/internal/linear-progress.js +4 -48
  129. package/progress/internal/linear-progress.js.map +1 -1
  130. package/radio/internal/radio.d.ts +1 -1
  131. package/radio/internal/radio.js.map +1 -1
  132. package/ripple/internal/_ripple.scss +1 -1
  133. package/ripple/internal/ripple-styles.css.js +1 -1
  134. package/ripple/internal/ripple-styles.css.js.map +1 -1
  135. package/select/internal/_filled-select.scss +0 -1
  136. package/select/internal/_outlined-select.scss +0 -1
  137. package/select/internal/_shared.scss +0 -1
  138. package/select/internal/filled-select-styles.css.js +1 -1
  139. package/select/internal/filled-select-styles.css.js.map +1 -1
  140. package/select/internal/outlined-select-styles.css.js +1 -1
  141. package/select/internal/outlined-select-styles.css.js.map +1 -1
  142. package/slider/internal/_slider.scss +33 -28
  143. package/slider/internal/forced-colors-styles.css.js +1 -1
  144. package/slider/internal/forced-colors-styles.css.js.map +1 -1
  145. package/slider/internal/slider-styles.css.js +1 -1
  146. package/slider/internal/slider-styles.css.js.map +1 -1
  147. package/slider/internal/slider.d.ts +22 -8
  148. package/slider/internal/slider.js +113 -22
  149. package/slider/internal/slider.js.map +1 -1
  150. package/switch/internal/_switch.scss +9 -1
  151. package/switch/internal/switch-styles.css.js +1 -1
  152. package/switch/internal/switch-styles.css.js.map +1 -1
  153. package/switch/internal/switch.d.ts +1 -1
  154. package/switch/internal/switch.js +2 -2
  155. package/switch/internal/switch.js.map +1 -1
  156. package/tabs/internal/_tab.scss +76 -20
  157. package/tabs/internal/tab-styles.css.js +1 -1
  158. package/tabs/internal/tab-styles.css.js.map +1 -1
  159. package/tabs/internal/tab.js +0 -1
  160. package/tabs/internal/tab.js.map +1 -1
  161. package/textfield/internal/filled-styles.css.js +1 -1
  162. package/textfield/internal/filled-styles.css.js.map +1 -1
  163. package/textfield/internal/outlined-styles.css.js +1 -1
  164. package/textfield/internal/outlined-styles.css.js.map +1 -1
  165. package/textfield/internal/text-field.d.ts +11 -10
  166. package/textfield/internal/text-field.js +60 -32
  167. package/textfield/internal/text-field.js.map +1 -1
  168. package/tokens/_md-comp-filled-field.scss +2 -2
  169. package/tokens/_md-comp-filled-select.scss +3 -0
  170. package/tokens/_md-comp-filled-text-field.scss +3 -1
  171. package/tokens/_md-comp-list-item.scss +117 -103
  172. package/tokens/_md-comp-menu-item.scss +3 -3
  173. package/tokens/_md-comp-outlined-field.scss +2 -1
  174. package/tokens/_md-comp-outlined-select.scss +8 -0
  175. package/tokens/_md-comp-outlined-text-field.scss +3 -1
  176. package/chips/internal/assist-forced-colors-styles.css.d.ts +0 -1
  177. package/chips/internal/assist-forced-colors-styles.css.js +0 -9
  178. package/chips/internal/assist-forced-colors-styles.css.js.map +0 -1
  179. package/chips/internal/assist-forced-colors-styles.scss +0 -27
  180. package/chips/internal/filter-forced-colors-styles.css.d.ts +0 -1
  181. package/chips/internal/filter-forced-colors-styles.css.js +0 -9
  182. package/chips/internal/filter-forced-colors-styles.css.js.map +0 -1
  183. package/chips/internal/filter-forced-colors-styles.scss +0 -34
  184. package/chips/internal/input-forced-colors-styles.css.d.ts +0 -1
  185. package/chips/internal/input-forced-colors-styles.css.js +0 -9
  186. package/chips/internal/input-forced-colors-styles.css.js.map +0 -1
  187. package/chips/internal/input-forced-colors-styles.scss +0 -39
  188. package/chips/internal/suggestion-forced-colors-styles.css.d.ts +0 -1
  189. package/chips/internal/suggestion-forced-colors-styles.css.js +0 -9
  190. package/chips/internal/suggestion-forced-colors-styles.css.js.map +0 -1
  191. package/chips/internal/suggestion-forced-colors-styles.scss +0 -27
  192. 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
- }