material 3.4.0 → 3.4.2

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 (194) hide show
  1. package/README.md +2 -2
  2. package/dist/components/button-group/button-group.js +5 -2
  3. package/dist/components/dialog/api.js +109 -109
  4. package/dist/components/dialog/config.js +0 -52
  5. package/dist/components/dialog/dialog.js +2 -2
  6. package/dist/components/dialog/features.js +113 -65
  7. package/dist/components/dialog/types.d.ts +2 -3
  8. package/dist/components/search/features/states.js +14 -7
  9. package/dist/core/dom/focus.js +2 -2
  10. package/dist/elements/css/bottom-sheet.css +1 -1
  11. package/dist/elements/css/bottom-sheet.js +1 -1
  12. package/dist/elements/css/checkbox.css +1 -1
  13. package/dist/elements/css/checkbox.js +1 -1
  14. package/dist/elements/css/datepicker.css +1 -1
  15. package/dist/elements/css/datepicker.js +1 -1
  16. package/dist/elements/css/dialog.css +1 -1
  17. package/dist/elements/css/dialog.js +1 -1
  18. package/dist/elements/css/fab.css +1 -1
  19. package/dist/elements/css/fab.js +1 -1
  20. package/dist/elements/css/list.css +1 -1
  21. package/dist/elements/css/list.js +1 -1
  22. package/dist/elements/css/navigation-rail.css +1 -1
  23. package/dist/elements/css/navigation-rail.js +1 -1
  24. package/dist/elements/css/radios.css +1 -1
  25. package/dist/elements/css/radios.js +1 -1
  26. package/dist/elements/css/search.css +1 -1
  27. package/dist/elements/css/search.js +1 -1
  28. package/dist/elements/css/side-sheet.css +1 -1
  29. package/dist/elements/css/side-sheet.js +1 -1
  30. package/dist/elements/css/slider.css +1 -1
  31. package/dist/elements/css/slider.js +1 -1
  32. package/dist/elements/css/switch.css +1 -1
  33. package/dist/elements/css/switch.js +1 -1
  34. package/dist/elements/css/timepicker.css +1 -1
  35. package/dist/elements/css/timepicker.js +1 -1
  36. package/dist/elements/css/tooltip.css +1 -1
  37. package/dist/elements/css/tooltip.js +1 -1
  38. package/dist/elements/preupgrade/badge.css +1 -1
  39. package/dist/elements/preupgrade/bottom-app-bar.css +1 -1
  40. package/dist/elements/preupgrade/bottom-sheet.css +1 -1
  41. package/dist/elements/preupgrade/button-group.css +1 -1
  42. package/dist/elements/preupgrade/button.css +1 -1
  43. package/dist/elements/preupgrade/card.css +1 -1
  44. package/dist/elements/preupgrade/carousel.css +1 -1
  45. package/dist/elements/preupgrade/checkbox.css +1 -1
  46. package/dist/elements/preupgrade/chips.css +1 -1
  47. package/dist/elements/preupgrade/datepicker.css +1 -1
  48. package/dist/elements/preupgrade/dialog.css +1 -1
  49. package/dist/elements/preupgrade/divider.css +1 -1
  50. package/dist/elements/preupgrade/drawer.css +1 -1
  51. package/dist/elements/preupgrade/extended-fab.css +1 -1
  52. package/dist/elements/preupgrade/fab-menu.css +1 -1
  53. package/dist/elements/preupgrade/fab.css +1 -1
  54. package/dist/elements/preupgrade/icon-button.css +1 -1
  55. package/dist/elements/preupgrade/list.css +1 -1
  56. package/dist/elements/preupgrade/loading-indicator.css +1 -1
  57. package/dist/elements/preupgrade/menu.css +1 -1
  58. package/dist/elements/preupgrade/navigation-bar.css +1 -1
  59. package/dist/elements/preupgrade/navigation-rail.css +1 -1
  60. package/dist/elements/preupgrade/progress.css +1 -1
  61. package/dist/elements/preupgrade/radios.css +1 -1
  62. package/dist/elements/preupgrade/search.css +1 -1
  63. package/dist/elements/preupgrade/select.css +1 -1
  64. package/dist/elements/preupgrade/side-sheet.css +1 -1
  65. package/dist/elements/preupgrade/slider.css +1 -1
  66. package/dist/elements/preupgrade/snackbar.css +1 -1
  67. package/dist/elements/preupgrade/split-button.css +1 -1
  68. package/dist/elements/preupgrade/switch.css +1 -1
  69. package/dist/elements/preupgrade/tabs.css +1 -1
  70. package/dist/elements/preupgrade/text-field.css +2 -2
  71. package/dist/elements/preupgrade/timepicker.css +1 -1
  72. package/dist/elements/preupgrade/toolbar.css +1 -1
  73. package/dist/elements/preupgrade/tooltip.css +1 -1
  74. package/dist/elements/preupgrade/top-app-bar.css +1 -1
  75. package/dist/elements/preupgrade.css +2 -2
  76. package/dist/elements/preupgrade.js +1 -1
  77. package/dist/package.json +1 -1
  78. package/dist/styles/badge.css +1 -1
  79. package/dist/styles/base.css +1 -1
  80. package/dist/styles/bottom-app-bar.css +1 -1
  81. package/dist/styles/bottom-sheet.css +2 -2
  82. package/dist/styles/button-group.css +1 -1
  83. package/dist/styles/button.css +1 -1
  84. package/dist/styles/card.css +1 -1
  85. package/dist/styles/carousel.css +1 -1
  86. package/dist/styles/checkbox.css +2 -2
  87. package/dist/styles/chips.css +1 -1
  88. package/dist/styles/contrast.css +1 -1
  89. package/dist/styles/datepicker.css +2 -2
  90. package/dist/styles/dialog.css +2 -2
  91. package/dist/styles/divider.css +1 -1
  92. package/dist/styles/drawer.css +1 -1
  93. package/dist/styles/extended-fab.css +1 -1
  94. package/dist/styles/fab-menu.css +1 -1
  95. package/dist/styles/fab.css +2 -2
  96. package/dist/styles/icon-button.css +1 -1
  97. package/dist/styles/list.css +2 -2
  98. package/dist/styles/loading-indicator.css +1 -1
  99. package/dist/styles/menu.css +1 -1
  100. package/dist/styles/navigation-bar.css +1 -1
  101. package/dist/styles/navigation-rail.css +2 -2
  102. package/dist/styles/progress.css +1 -1
  103. package/dist/styles/radios.css +2 -2
  104. package/dist/styles/search.css +2 -2
  105. package/dist/styles/select.css +1 -1
  106. package/dist/styles/side-sheet.css +2 -2
  107. package/dist/styles/slider.css +2 -2
  108. package/dist/styles/snackbar.css +1 -1
  109. package/dist/styles/split-button.css +1 -1
  110. package/dist/styles/switch.css +2 -2
  111. package/dist/styles/tabs.css +1 -1
  112. package/dist/styles/text-field.css +1 -1
  113. package/dist/styles/timepicker.css +2 -2
  114. package/dist/styles/toolbar.css +1 -1
  115. package/dist/styles/tooltip.css +2 -2
  116. package/dist/styles/top-app-bar.css +1 -1
  117. package/dist/styles/typography.css +1 -1
  118. package/dist/styles/utilities.css +2 -2
  119. package/dist/styles.css +2 -2
  120. package/dist/themes/autumn-contrast.css +1 -1
  121. package/dist/themes/autumn.css +2 -2
  122. package/dist/themes/baseline-contrast.css +1 -1
  123. package/dist/themes/baseline.css +1 -1
  124. package/dist/themes/brownbeige-contrast.css +1 -1
  125. package/dist/themes/brownbeige.css +2 -2
  126. package/dist/themes/content-contrast.css +1 -1
  127. package/dist/themes/content.css +2 -2
  128. package/dist/themes/desert-contrast.css +1 -1
  129. package/dist/themes/desert.css +2 -2
  130. package/dist/themes/expressive-contrast.css +1 -1
  131. package/dist/themes/expressive.css +2 -2
  132. package/dist/themes/fidelity-contrast.css +1 -1
  133. package/dist/themes/fidelity.css +2 -2
  134. package/dist/themes/forest-contrast.css +1 -1
  135. package/dist/themes/forest.css +1 -1
  136. package/dist/themes/fruit-salad-contrast.css +1 -1
  137. package/dist/themes/fruit-salad.css +2 -2
  138. package/dist/themes/highcontrast-contrast.css +1 -1
  139. package/dist/themes/highcontrast.css +2 -2
  140. package/dist/themes/monochrome-contrast.css +1 -1
  141. package/dist/themes/monochrome.css +2 -2
  142. package/dist/themes/neutral-contrast.css +1 -1
  143. package/dist/themes/neutral.css +2 -2
  144. package/dist/themes/ocean-contrast.css +1 -1
  145. package/dist/themes/ocean.css +1 -1
  146. package/dist/themes/rainbow-contrast.css +1 -1
  147. package/dist/themes/rainbow.css +2 -2
  148. package/dist/themes/sageivory-contrast.css +1 -1
  149. package/dist/themes/sageivory.css +2 -2
  150. package/dist/themes/spring-contrast.css +1 -1
  151. package/dist/themes/spring.css +1 -1
  152. package/dist/themes/summer-contrast.css +1 -1
  153. package/dist/themes/summer.css +2 -2
  154. package/dist/themes/sunset-contrast.css +1 -1
  155. package/dist/themes/sunset.css +1 -1
  156. package/dist/themes/tealcaramel-contrast.css +1 -1
  157. package/dist/themes/tealcaramel.css +2 -2
  158. package/dist/themes/vibrant-contrast.css +1 -1
  159. package/dist/themes/vibrant.css +2 -2
  160. package/package.json +1 -1
  161. package/src/styles/components/_bottom-sheet.scss +1 -0
  162. package/src/styles/components/_checkbox.scss +1 -0
  163. package/src/styles/components/_datepicker.scss +2 -1
  164. package/src/styles/components/_dialog.scss +9 -0
  165. package/src/styles/components/_fab.scss +1 -0
  166. package/src/styles/components/_list.scss +1 -0
  167. package/src/styles/components/_navigation-rail.scss +2 -0
  168. package/src/styles/components/_radios.scss +1 -0
  169. package/src/styles/components/_search.scss +2 -5
  170. package/src/styles/components/_side-sheet.scss +2 -1
  171. package/src/styles/components/_slider.scss +1 -7
  172. package/src/styles/components/_switch.scss +1 -0
  173. package/src/styles/components/_timepicker.scss +1 -0
  174. package/src/styles/components/_tooltip.scss +0 -2
  175. package/src/styles/elements/_text-field.scss +7 -1
  176. package/src/styles/main.scss +2 -1
  177. package/src/styles/themes/_autumn.scss +2 -13
  178. package/src/styles/themes/_base-theme.scss +16 -7
  179. package/src/styles/themes/_brownbeige.scss +5 -3
  180. package/src/styles/themes/_content.scss +5 -3
  181. package/src/styles/themes/_desert.scss +5 -3
  182. package/src/styles/themes/_expressive.scss +5 -3
  183. package/src/styles/themes/_fidelity.scss +5 -3
  184. package/src/styles/themes/_fruit-salad.scss +5 -3
  185. package/src/styles/themes/_highcontrast.scss +5 -3
  186. package/src/styles/themes/_monochrome.scss +5 -3
  187. package/src/styles/themes/_neutral.scss +5 -3
  188. package/src/styles/themes/_rainbow.scss +5 -3
  189. package/src/styles/themes/_sageivory.scss +5 -3
  190. package/src/styles/themes/_summer.scss +5 -3
  191. package/src/styles/themes/_tealcaramel.scss +5 -3
  192. package/src/styles/themes/_vibrant.scss +5 -3
  193. package/src/styles/utilities/_typography.scss +9 -3
  194. package/src/styles/utilities/_visibility.scss +2 -7
@@ -79,6 +79,7 @@ $component: "#{base.$prefix}-list";
79
79
  }
80
80
  &__item--three-line &__leading--video { width: 114px; height: 64px; }
81
81
  &__action {
82
+ font: inherit;
82
83
  appearance: none;
83
84
  position: absolute;
84
85
  inset: 0;
@@ -63,6 +63,7 @@ $snap: 0s linear $midpoint;
63
63
  padding-inline-start: 20px;
64
64
  }
65
65
  &__toggle {
66
+ font: inherit;
66
67
  display: grid;
67
68
  place-items: center;
68
69
  position: relative;
@@ -93,6 +94,7 @@ $snap: 0s linear $midpoint;
93
94
  // Item: the hit target spans the rail; 64dp tall with the icon on top,
94
95
  // 56dp tall with the icon at the start.
95
96
  &__item {
97
+ font: inherit;
96
98
  position: relative;
97
99
  isolation: isolate;
98
100
  display: block;
@@ -60,6 +60,7 @@ $component: '#{base.$prefix}-radios';
60
60
 
61
61
  // Radio input
62
62
  &__input {
63
+ font: inherit;
63
64
  position: absolute;
64
65
  opacity: 0;
65
66
  height: 0;
@@ -511,14 +511,11 @@ $transition-easing: cubic-bezier(0.2, 0, 0, 1);
511
511
  // Two-line items: 72dp, the second line Body Medium on-surface-variant.
512
512
  .#{$component}__suggestion-item--two-line {
513
513
  min-height: 72px;
514
-
515
- .#{$component}__suggestion-text {
516
- display: flex;
517
- flex-direction: column;
518
- }
519
514
  }
520
515
 
521
516
  .#{$component}__suggestion-supporting {
517
+ // Keep the headline's text and highlighted matches in one inline flow.
518
+ display: block;
522
519
  overflow: hidden;
523
520
  text-overflow: ellipsis;
524
521
  @include m.typography("body-medium");
@@ -95,6 +95,7 @@ $component: "#{base.$prefix}-side-sheet";
95
95
 
96
96
  // 16dp on the icon side, per the specs' start padding with an icon
97
97
  &__close {
98
+ font: inherit;
98
99
  // The button is the layer's and the 48px target's containing block. That
99
100
  // cannot come from the state layer's `:where()` rule alone: it adds no
100
101
  // specificity, so a page reset like `button { position: static }` would
@@ -109,7 +110,7 @@ $component: "#{base.$prefix}-side-sheet";
109
110
  height: 40px;
110
111
  margin-inline-end: -8px;
111
112
  padding: 0;
112
- border: none;
113
+ border: 0;
113
114
  border-radius: 50%;
114
115
  background: transparent;
115
116
  color: t.color("on-surface-variant");
@@ -182,7 +182,6 @@ $component: '#{base.$prefix}-slider';
182
182
 
183
183
  // Create a T-shaped handle using pseudo-elements
184
184
  &::before {
185
- pointer-events: none;
186
185
  content: '';
187
186
  position: absolute;
188
187
  width: 4px;
@@ -205,13 +204,8 @@ $component: '#{base.$prefix}-slider';
205
204
  .#{$component}--error & {
206
205
  background-color: t.color('error');
207
206
  }
208
-
209
- .#{$component}--disabled & {
210
- background-color: t.color('on-surface');
211
- opacity: 0.38;
212
- }
213
207
  }
214
-
208
+
215
209
  // Disabled pointer events on the pseudo-element
216
210
  &::before {
217
211
  pointer-events: none;
@@ -70,6 +70,7 @@ $component: '#{base.$prefix}-switch';
70
70
 
71
71
  // Input (visually hidden but accessible)
72
72
  &__input {
73
+ font: inherit;
73
74
  position: absolute;
74
75
  opacity: 0;
75
76
  width: 100%;
@@ -388,6 +388,7 @@ $component: '#{base.$prefix}-time-picker';
388
388
  }
389
389
 
390
390
  &__toggle-type {
391
+ font: inherit;
391
392
  background: transparent;
392
393
  border: none;
393
394
  padding: 8px;
@@ -19,8 +19,6 @@ $arrow-size: 8px;
19
19
  border-radius: v.shape('extra-small'); // PlainTooltipTokens container-shape
20
20
  background-color: t.color('inverse-surface');
21
21
  color: t.color('inverse-on-surface');
22
- font-size: 12px;
23
- line-height: 16px;
24
22
  text-align: center;
25
23
  pointer-events: none;
26
24
  opacity: 0;
@@ -106,9 +106,15 @@
106
106
  }
107
107
 
108
108
  // Multiline reserves the textarea's box and first line. Compact multiline
109
- // keeps the compact single-line height, as the upgraded input does.
109
+ // keeps the compact single-line height, as the upgraded input does. The
110
+ // value may hold line breaks: an inline-block's baseline is its last line,
111
+ // so each deeper line would push the page's baseline down and grow the
112
+ // host past the reserved box. An inline-flex container's baseline is its
113
+ // first item's, so the box and the first line stay put and the deeper
114
+ // lines stay clipped (#522).
110
115
  &[type='multiline'] {
111
116
  &::before {
117
+ display: inline-flex;
112
118
  height: v.text-field('height-multiline');
113
119
  padding-top: v.text-field('padding-top-multiline');
114
120
  }
@@ -20,7 +20,8 @@
20
20
  @use "utilities/visibility";
21
21
  @use "utilities/colors";
22
22
  @use "utilities/flexbox";
23
- @use "utilities/typography" as typo;
23
+ // base/typography below emits the same `.mtrl-truncate` rule.
24
+ @use "utilities/typography" as typo with ($compose-full: true);
24
25
 
25
26
  // Themes
26
27
  @use "themes/index";
@@ -59,19 +59,8 @@
59
59
  --#{$prefix}-sys-color-inverse-on-surface: #ffede5;
60
60
  --#{$prefix}-sys-color-inverse-primary: #ebbcac;
61
61
 
62
- // Success colors
63
- --#{$prefix}-sys-color-success: #85cfa9;
64
- --#{$prefix}-sys-color-on-success: #00392d;
65
-
66
- // Warning colors
67
- --#{$prefix}-sys-color-warning: #ffb95c;
68
- --#{$prefix}-sys-color-on-warning: #3f2200;
69
-
70
- // Info colors
71
- --#{$prefix}-sys-color-info: #99cbff;
72
- --#{$prefix}-sys-color-on-info: #003060;
73
-
74
- // Include status colors for light theme
62
+ // Success, warning, info and the error fallback, from the shared status
63
+ // roles (the values once written here were shadowed by this include)
75
64
  @include status-colors-light();
76
65
 
77
66
  &[data-theme-mode="dark"] {
@@ -142,23 +142,32 @@ $contrast-emit: all !default;
142
142
  --#{$prefix}-sys-color-on-info: #003355;
143
143
  }
144
144
 
145
- // Common status colors that should be available in all themes
146
- @mixin status-colors-light() {
147
- // Error colors
145
+ // Error colours: the fallback for a theme whose palette sets no error family.
146
+ // A generated theme's tokens always include the error roles, so it emits
147
+ // status-roles-* alone and no earlier value is shadowed in its rule.
148
+ @mixin status-error-light() {
148
149
  --#{$prefix}-sys-color-error: #B3261E;
149
150
  --#{$prefix}-sys-color-on-error: #FFFFFF;
150
151
  --#{$prefix}-sys-color-error-container: #F9DEDC;
151
152
  --#{$prefix}-sys-color-on-error-container: #410E0B;
152
-
153
- @include status-roles-light();
154
153
  }
155
154
 
156
- @mixin status-colors-dark() {
157
- // Error colors
155
+ @mixin status-error-dark() {
158
156
  --#{$prefix}-sys-color-error: #F2B8B5;
159
157
  --#{$prefix}-sys-color-on-error: #601410;
160
158
  --#{$prefix}-sys-color-error-container: #8C1D18;
161
159
  --#{$prefix}-sys-color-on-error-container: #F9DEDC;
160
+ }
161
+
162
+ // Common status colors, for themes whose palette sets no error family
163
+ @mixin status-colors-light() {
164
+ @include status-error-light();
165
+
166
+ @include status-roles-light();
167
+ }
168
+
169
+ @mixin status-colors-dark() {
170
+ @include status-error-dark();
162
171
 
163
172
  @include status-roles-dark();
164
173
  }
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("brownbeige") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #ffb4a7;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("content") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #cfbcff;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("desert") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #edc06c;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("expressive") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #79d7c0;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("fidelity") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #cfbcff;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("fruit-salad") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #97cbff;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("highcontrast") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #600004;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #98000a;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #cfbdfe;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffece9;
62
64
  --#{$prefix}-sys-color-on-error: #000000;
63
65
  --#{$prefix}-sys-color-error-container: #ffaea4;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("monochrome") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #c6c6c6;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("neutral") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #cbc3d5;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("rainbow") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #cfbcff;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("sageivory") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #a8d292;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("summer") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #95cdf7;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("tealcaramel") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #84d2e7;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -7,8 +7,10 @@
7
7
 
8
8
  @include create-theme("vibrant") {
9
9
  // Success, warning and info, as every theme has them; the scheme's own
10
- // roles, error included, follow
11
- @include status-colors-light();
10
+ // roles, error family included, follow. The scheme always sets the error
11
+ // family, so status-colors-* would only emit defaults the declarations
12
+ // below shadow.
13
+ @include status-roles-light();
12
14
  --#{$prefix}-sys-color-error: #ba1a1a;
13
15
  --#{$prefix}-sys-color-on-error: #ffffff;
14
16
  --#{$prefix}-sys-color-error-container: #ffdad6;
@@ -57,7 +59,7 @@
57
59
  --#{$prefix}-sys-color-inverse-primary: #cfbcff;
58
60
 
59
61
  &[data-theme-mode="dark"] {
60
- @include status-colors-dark();
62
+ @include status-roles-dark();
61
63
  --#{$prefix}-sys-color-error: #ffb4ab;
62
64
  --#{$prefix}-sys-color-on-error: #690005;
63
65
  --#{$prefix}-sys-color-error-container: #93000a;
@@ -104,9 +104,15 @@ $prefix: base.$prefix;
104
104
  -moz-osx-font-smoothing: auto;
105
105
  }
106
106
 
107
- // Text overflow
108
- .#{$prefix}-truncate {
109
- @include m.truncate;
107
+ // Text overflow. The full stylesheet also composes base/typography, whose
108
+ // `.mtrl-truncate` is identical and later; main.scss sets this so the full
109
+ // sheet carries one copy, while `material/styles/utilities` keeps its own.
110
+ $compose-full: false !default;
111
+
112
+ @if not $compose-full {
113
+ .#{$prefix}-truncate {
114
+ @include m.truncate;
115
+ }
110
116
  }
111
117
 
112
118
  .#{$prefix}-overflow-ellipsis {
@@ -23,13 +23,8 @@ $prefix: base.$prefix;
23
23
  display: inline;
24
24
  }
25
25
 
26
- .#{$prefix}-flex {
27
- display: flex;
28
- }
29
-
30
- .#{$prefix}-inline-flex {
31
- display: inline-flex;
32
- }
26
+ // `.mtrl-flex` and `.mtrl-inline-flex` live in utilities/flexbox: the full
27
+ // stylesheet composed both files and emitted each class twice.
33
28
 
34
29
  .#{$prefix}-grid {
35
30
  display: grid;