@angular/material 17.0.0 → 17.0.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 (262) hide show
  1. package/autocomplete/_autocomplete-theme.scss +47 -14
  2. package/autocomplete/index.d.ts +0 -2
  3. package/badge/_badge-theme.scss +67 -35
  4. package/bottom-sheet/_bottom-sheet-theme.scss +51 -18
  5. package/button/_button-theme.scss +7 -0
  6. package/button-toggle/_button-toggle-theme.scss +66 -32
  7. package/chips/_chips-theme.scss +64 -32
  8. package/core/_core-theme.scss +1 -3
  9. package/core/option/_optgroup-theme.scss +47 -16
  10. package/core/option/_option-theme.scss +54 -23
  11. package/core/ripple/_ripple-theme.scss +51 -19
  12. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +18 -58
  13. package/core/tokens/m2/_index.scss +57 -8
  14. package/core/tokens/m2/mat/_full-pseudo-checkbox.scss +49 -0
  15. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +43 -0
  16. package/datepicker/_datepicker-theme.scss +70 -38
  17. package/dialog/_dialog-theme.scss +48 -17
  18. package/divider/_divider-theme.scss +49 -16
  19. package/esm2022/autocomplete/autocomplete-origin.mjs +3 -3
  20. package/esm2022/autocomplete/autocomplete-trigger.mjs +19 -10
  21. package/esm2022/autocomplete/autocomplete.mjs +3 -3
  22. package/esm2022/autocomplete/module.mjs +4 -4
  23. package/esm2022/badge/badge-module.mjs +4 -4
  24. package/esm2022/badge/badge.mjs +3 -3
  25. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +3 -3
  26. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +4 -4
  27. package/esm2022/bottom-sheet/bottom-sheet.mjs +3 -3
  28. package/esm2022/button/button-base.mjs +6 -6
  29. package/esm2022/button/button.mjs +6 -6
  30. package/esm2022/button/fab.mjs +12 -12
  31. package/esm2022/button/icon-button.mjs +6 -6
  32. package/esm2022/button/module.mjs +4 -4
  33. package/esm2022/button-toggle/button-toggle-module.mjs +4 -4
  34. package/esm2022/button-toggle/button-toggle.mjs +6 -6
  35. package/esm2022/card/card.mjs +42 -42
  36. package/esm2022/card/module.mjs +4 -4
  37. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  38. package/esm2022/checkbox/checkbox.mjs +3 -3
  39. package/esm2022/checkbox/module.mjs +8 -8
  40. package/esm2022/chips/chip-action.mjs +3 -3
  41. package/esm2022/chips/chip-edit-input.mjs +3 -3
  42. package/esm2022/chips/chip-grid.mjs +3 -3
  43. package/esm2022/chips/chip-icons.mjs +9 -9
  44. package/esm2022/chips/chip-input.mjs +3 -3
  45. package/esm2022/chips/chip-listbox.mjs +3 -3
  46. package/esm2022/chips/chip-option.mjs +3 -3
  47. package/esm2022/chips/chip-row.mjs +3 -3
  48. package/esm2022/chips/chip-set.mjs +3 -3
  49. package/esm2022/chips/chip.mjs +3 -3
  50. package/esm2022/chips/module.mjs +4 -4
  51. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  52. package/esm2022/core/datetime/index.mjs +8 -8
  53. package/esm2022/core/datetime/native-date-adapter.mjs +3 -3
  54. package/esm2022/core/error/error-options.mjs +6 -6
  55. package/esm2022/core/line/line.mjs +7 -7
  56. package/esm2022/core/option/index.mjs +4 -4
  57. package/esm2022/core/option/optgroup.mjs +3 -3
  58. package/esm2022/core/option/option.mjs +3 -3
  59. package/esm2022/core/private/ripple-loader.mjs +3 -3
  60. package/esm2022/core/ripple/index.mjs +4 -4
  61. package/esm2022/core/ripple/ripple.mjs +3 -3
  62. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  63. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  64. package/esm2022/core/version.mjs +1 -1
  65. package/esm2022/datepicker/calendar-body.mjs +5 -5
  66. package/esm2022/datepicker/calendar.mjs +6 -6
  67. package/esm2022/datepicker/date-range-input-parts.mjs +9 -9
  68. package/esm2022/datepicker/date-range-input.mjs +3 -3
  69. package/esm2022/datepicker/date-range-picker.mjs +3 -3
  70. package/esm2022/datepicker/date-range-selection-strategy.mjs +3 -3
  71. package/esm2022/datepicker/date-selection-model.mjs +9 -9
  72. package/esm2022/datepicker/datepicker-actions.mjs +9 -9
  73. package/esm2022/datepicker/datepicker-base.mjs +6 -6
  74. package/esm2022/datepicker/datepicker-input-base.mjs +3 -3
  75. package/esm2022/datepicker/datepicker-input.mjs +3 -3
  76. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  77. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  78. package/esm2022/datepicker/datepicker-toggle.mjs +6 -6
  79. package/esm2022/datepicker/datepicker.mjs +3 -3
  80. package/esm2022/datepicker/month-view.mjs +3 -3
  81. package/esm2022/datepicker/multi-year-view.mjs +3 -3
  82. package/esm2022/datepicker/year-view.mjs +3 -3
  83. package/esm2022/dialog/dialog-container.mjs +3 -3
  84. package/esm2022/dialog/dialog-content-directives.mjs +12 -12
  85. package/esm2022/dialog/dialog.mjs +3 -3
  86. package/esm2022/dialog/module.mjs +4 -4
  87. package/esm2022/divider/divider-module.mjs +4 -4
  88. package/esm2022/divider/divider.mjs +3 -3
  89. package/esm2022/expansion/accordion.mjs +3 -3
  90. package/esm2022/expansion/expansion-module.mjs +4 -4
  91. package/esm2022/expansion/expansion-panel-content.mjs +3 -3
  92. package/esm2022/expansion/expansion-panel-header.mjs +9 -9
  93. package/esm2022/expansion/expansion-panel.mjs +6 -6
  94. package/esm2022/form-field/directives/error.mjs +3 -3
  95. package/esm2022/form-field/directives/floating-label.mjs +3 -3
  96. package/esm2022/form-field/directives/hint.mjs +3 -3
  97. package/esm2022/form-field/directives/label.mjs +3 -3
  98. package/esm2022/form-field/directives/line-ripple.mjs +3 -3
  99. package/esm2022/form-field/directives/notched-outline.mjs +3 -3
  100. package/esm2022/form-field/directives/prefix.mjs +3 -3
  101. package/esm2022/form-field/directives/suffix.mjs +3 -3
  102. package/esm2022/form-field/form-field-control.mjs +3 -3
  103. package/esm2022/form-field/form-field.mjs +3 -3
  104. package/esm2022/form-field/module.mjs +4 -4
  105. package/esm2022/grid-list/grid-list-module.mjs +4 -4
  106. package/esm2022/grid-list/grid-list.mjs +3 -3
  107. package/esm2022/grid-list/grid-tile.mjs +15 -15
  108. package/esm2022/icon/icon-module.mjs +4 -4
  109. package/esm2022/icon/icon-registry.mjs +3 -3
  110. package/esm2022/icon/icon.mjs +3 -3
  111. package/esm2022/icon/testing/fake-icon-registry.mjs +7 -7
  112. package/esm2022/input/input.mjs +3 -3
  113. package/esm2022/input/module.mjs +4 -4
  114. package/esm2022/list/action-list.mjs +3 -3
  115. package/esm2022/list/list-base.mjs +12 -12
  116. package/esm2022/list/list-item-sections.mjs +18 -18
  117. package/esm2022/list/list-module.mjs +4 -4
  118. package/esm2022/list/list-option.mjs +3 -3
  119. package/esm2022/list/list.mjs +6 -6
  120. package/esm2022/list/nav-list.mjs +3 -3
  121. package/esm2022/list/selection-list.mjs +3 -3
  122. package/esm2022/list/subheader.mjs +3 -3
  123. package/esm2022/menu/menu-content.mjs +3 -3
  124. package/esm2022/menu/menu-item.mjs +3 -3
  125. package/esm2022/menu/menu-trigger.mjs +3 -3
  126. package/esm2022/menu/menu.mjs +3 -3
  127. package/esm2022/menu/module.mjs +4 -4
  128. package/esm2022/paginator/module.mjs +4 -4
  129. package/esm2022/paginator/paginator-intl.mjs +3 -3
  130. package/esm2022/paginator/paginator.mjs +3 -3
  131. package/esm2022/progress-bar/module.mjs +4 -4
  132. package/esm2022/progress-bar/progress-bar.mjs +3 -3
  133. package/esm2022/progress-spinner/module.mjs +4 -4
  134. package/esm2022/progress-spinner/progress-spinner.mjs +3 -3
  135. package/esm2022/radio/module.mjs +4 -4
  136. package/esm2022/radio/radio.mjs +6 -6
  137. package/esm2022/select/module.mjs +4 -4
  138. package/esm2022/select/select.mjs +8 -8
  139. package/esm2022/sidenav/drawer.mjs +9 -9
  140. package/esm2022/sidenav/sidenav-module.mjs +4 -4
  141. package/esm2022/sidenav/sidenav.mjs +9 -9
  142. package/esm2022/slide-toggle/module.mjs +8 -8
  143. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  144. package/esm2022/slide-toggle/slide-toggle.mjs +3 -3
  145. package/esm2022/slider/module.mjs +4 -4
  146. package/esm2022/slider/slider-input.mjs +6 -6
  147. package/esm2022/slider/slider-thumb.mjs +3 -3
  148. package/esm2022/slider/slider.mjs +3 -3
  149. package/esm2022/snack-bar/module.mjs +4 -4
  150. package/esm2022/snack-bar/simple-snack-bar.mjs +3 -3
  151. package/esm2022/snack-bar/snack-bar-container.mjs +3 -3
  152. package/esm2022/snack-bar/snack-bar-content.mjs +9 -9
  153. package/esm2022/snack-bar/snack-bar.mjs +3 -3
  154. package/esm2022/sort/sort-header-intl.mjs +3 -3
  155. package/esm2022/sort/sort-header.mjs +3 -3
  156. package/esm2022/sort/sort-module.mjs +4 -4
  157. package/esm2022/sort/sort.mjs +3 -3
  158. package/esm2022/stepper/step-content.mjs +3 -3
  159. package/esm2022/stepper/step-header.mjs +3 -3
  160. package/esm2022/stepper/step-label.mjs +3 -3
  161. package/esm2022/stepper/stepper-button.mjs +6 -6
  162. package/esm2022/stepper/stepper-icon.mjs +3 -3
  163. package/esm2022/stepper/stepper-intl.mjs +3 -3
  164. package/esm2022/stepper/stepper-module.mjs +4 -4
  165. package/esm2022/stepper/stepper.mjs +6 -6
  166. package/esm2022/table/cell.mjs +21 -21
  167. package/esm2022/table/module.mjs +4 -4
  168. package/esm2022/table/row.mjs +21 -21
  169. package/esm2022/table/table.mjs +6 -6
  170. package/esm2022/table/text-column.mjs +3 -3
  171. package/esm2022/tabs/module.mjs +4 -4
  172. package/esm2022/tabs/paginated-tab-header.mjs +3 -3
  173. package/esm2022/tabs/tab-body.mjs +6 -6
  174. package/esm2022/tabs/tab-content.mjs +3 -3
  175. package/esm2022/tabs/tab-group.mjs +3 -3
  176. package/esm2022/tabs/tab-header.mjs +3 -3
  177. package/esm2022/tabs/tab-label-wrapper.mjs +3 -3
  178. package/esm2022/tabs/tab-label.mjs +3 -3
  179. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +9 -9
  180. package/esm2022/tabs/tab.mjs +3 -3
  181. package/esm2022/toolbar/toolbar-module.mjs +4 -4
  182. package/esm2022/toolbar/toolbar.mjs +6 -6
  183. package/esm2022/tooltip/module.mjs +4 -4
  184. package/esm2022/tooltip/tooltip.mjs +7 -7
  185. package/esm2022/tree/node.mjs +9 -9
  186. package/esm2022/tree/outlet.mjs +3 -3
  187. package/esm2022/tree/padding.mjs +3 -3
  188. package/esm2022/tree/toggle.mjs +3 -3
  189. package/esm2022/tree/tree-module.mjs +4 -4
  190. package/esm2022/tree/tree.mjs +3 -3
  191. package/fesm2022/autocomplete.mjs +28 -19
  192. package/fesm2022/autocomplete.mjs.map +1 -1
  193. package/fesm2022/badge.mjs +7 -7
  194. package/fesm2022/bottom-sheet.mjs +10 -10
  195. package/fesm2022/button-toggle.mjs +10 -10
  196. package/fesm2022/button.mjs +34 -34
  197. package/fesm2022/card.mjs +46 -46
  198. package/fesm2022/checkbox.mjs +14 -14
  199. package/fesm2022/chips.mjs +40 -40
  200. package/fesm2022/core.mjs +57 -57
  201. package/fesm2022/core.mjs.map +1 -1
  202. package/fesm2022/datepicker.mjs +83 -83
  203. package/fesm2022/datepicker.mjs.map +1 -1
  204. package/fesm2022/dialog.mjs +22 -22
  205. package/fesm2022/divider.mjs +7 -7
  206. package/fesm2022/expansion.mjs +25 -25
  207. package/fesm2022/form-field.mjs +34 -34
  208. package/fesm2022/grid-list.mjs +22 -22
  209. package/fesm2022/icon/testing.mjs +7 -7
  210. package/fesm2022/icon.mjs +10 -10
  211. package/fesm2022/input.mjs +7 -7
  212. package/fesm2022/list.mjs +54 -54
  213. package/fesm2022/list.mjs.map +1 -1
  214. package/fesm2022/menu.mjs +16 -16
  215. package/fesm2022/paginator.mjs +10 -10
  216. package/fesm2022/progress-bar.mjs +7 -7
  217. package/fesm2022/progress-spinner.mjs +7 -7
  218. package/fesm2022/radio.mjs +10 -10
  219. package/fesm2022/select.mjs +11 -11
  220. package/fesm2022/select.mjs.map +1 -1
  221. package/fesm2022/sidenav.mjs +22 -22
  222. package/fesm2022/slide-toggle.mjs +14 -14
  223. package/fesm2022/slider.mjs +16 -16
  224. package/fesm2022/snack-bar.mjs +22 -22
  225. package/fesm2022/sort.mjs +13 -13
  226. package/fesm2022/stepper.mjs +31 -31
  227. package/fesm2022/table.mjs +55 -55
  228. package/fesm2022/tabs.mjs +40 -40
  229. package/fesm2022/toolbar.mjs +10 -10
  230. package/fesm2022/tooltip.mjs +11 -11
  231. package/fesm2022/tooltip.mjs.map +1 -1
  232. package/fesm2022/tree.mjs +25 -25
  233. package/form-field/_form-field-theme.scss +85 -49
  234. package/grid-list/_grid-list-theme.scss +47 -14
  235. package/icon/_icon-theme.scss +55 -23
  236. package/input/_input-theme.scss +39 -12
  237. package/list/_list-theme.scss +115 -83
  238. package/menu/_menu-theme.scss +50 -18
  239. package/package.json +2 -2
  240. package/paginator/_paginator-theme.scss +62 -29
  241. package/prebuilt-themes/deeppurple-amber.css +1 -1
  242. package/prebuilt-themes/indigo-pink.css +1 -1
  243. package/prebuilt-themes/pink-bluegrey.css +1 -1
  244. package/prebuilt-themes/purple-green.css +1 -1
  245. package/schematics/ng-add/index.js +1 -1
  246. package/schematics/ng-add/index.mjs +1 -1
  247. package/schematics/ng-generate/address-form/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +28 -29
  248. package/schematics/ng-generate/dashboard/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +21 -19
  249. package/schematics/ng-generate/mdc-migration/index_bundled.js +427 -201
  250. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
  251. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.html.template +9 -8
  252. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +1 -2
  253. package/schematics/ng-update/index_bundled.js +41 -37
  254. package/schematics/ng-update/index_bundled.js.map +2 -2
  255. package/select/_select-theme.scss +71 -38
  256. package/sidenav/_sidenav-theme.scss +49 -16
  257. package/slide-toggle/_slide-toggle-theme.scss +78 -44
  258. package/sort/_sort-theme.scss +51 -20
  259. package/stepper/_stepper-theme.scss +58 -25
  260. package/table/_table-theme.scss +53 -20
  261. package/tabs/_tabs-theme.scss +87 -51
  262. package/tree/_tree-theme.scss +53 -21
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '../core/theming/theming';
2
3
  @use '../core/theming/inspection';
3
4
  @use '../core/typography/typography';
@@ -5,30 +6,62 @@
5
6
  @use '../core/tokens/token-utils';
6
7
  @use '../core/tokens/m2/mat/autocomplete' as tokens-mat-autocomplete;
7
8
 
8
- @mixin base($theme) {}
9
+ @mixin base($theme) {
10
+ @if inspection.get-theme-version($theme) == 1 {
11
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
12
+ }
13
+ @else {}
14
+ }
9
15
 
10
16
  @mixin color($theme) {
11
- @include sass-utils.current-selector-or-root() {
12
- @include token-utils.create-token-values(tokens-mat-autocomplete.$prefix,
13
- tokens-mat-autocomplete.get-color-tokens($theme));
17
+ @if inspection.get-theme-version($theme) == 1 {
18
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
19
+ }
20
+ @else {
21
+ @include sass-utils.current-selector-or-root() {
22
+ @include token-utils.create-token-values(tokens-mat-autocomplete.$prefix,
23
+ tokens-mat-autocomplete.get-color-tokens($theme));
24
+ }
14
25
  }
15
26
  }
16
27
 
17
- @mixin typography($theme) {}
28
+ @mixin typography($theme) {
29
+ @if inspection.get-theme-version($theme) == 1 {
30
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
31
+ }
32
+ @else {}
33
+ }
18
34
 
19
- @mixin density($theme) {}
35
+ @mixin density($theme) {
36
+ @if inspection.get-theme-version($theme) == 1 {
37
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
38
+ }
39
+ @else {}
40
+ }
20
41
 
21
42
  @mixin theme($theme) {
22
43
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-autocomplete') {
23
- @include base($theme);
24
- @if inspection.theme-has($theme, color) {
25
- @include color($theme);
26
- }
27
- @if inspection.theme-has($theme, density) {
28
- @include density($theme);
44
+ @if inspection.get-theme-version($theme) == 1 {
45
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
29
46
  }
30
- @if inspection.theme-has($theme, typography) {
31
- @include typography($theme);
47
+ @else {
48
+ @include base($theme);
49
+ @if inspection.theme-has($theme, color) {
50
+ @include color($theme);
51
+ }
52
+ @if inspection.theme-has($theme, density) {
53
+ @include density($theme);
54
+ }
55
+ @if inspection.theme-has($theme, typography) {
56
+ @include typography($theme);
57
+ }
32
58
  }
33
59
  }
34
60
  }
61
+
62
+ @mixin _theme-from-tokens($tokens) {
63
+ @if ($tokens != ()) {
64
+ @include token-utils.create-token-values(
65
+ tokens-mat-autocomplete.$prefix, map.get($tokens, tokens-mat-autocomplete.$prefix));
66
+ }
67
+ }
@@ -400,8 +400,6 @@ export declare class MatAutocompleteTrigger implements ControlValueAccessor, Aft
400
400
  * the state of the trigger right before the opening sequence was finished.
401
401
  */
402
402
  private _emitOpened;
403
- /** Intended to be called when the panel is attached. Captures the current value of the input. */
404
- private _captureValueOnAttach;
405
403
  /** Destroys the autocomplete suggestion panel. */
406
404
  private _destroyPanel;
407
405
  private _assignOptionValue;
@@ -1,7 +1,7 @@
1
1
  @use 'sass:color';
2
+ @use 'sass:map';
2
3
  @use 'sass:math';
3
4
  @use '@angular/cdk';
4
-
5
5
  @use '../core/theming/theming';
6
6
  @use '../core/theming/inspection';
7
7
  @use '../core/typography/typography';
@@ -164,57 +164,89 @@ $_emit-fallback-vars: true;
164
164
  }
165
165
  }
166
166
 
167
- @mixin base($theme) {}
167
+ @mixin base($theme) {
168
+ @if inspection.get-theme-version($theme) == 1 {
169
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
170
+ }
171
+ @else {}
172
+ }
168
173
 
169
174
  @mixin color($theme) {
170
- @include sass-utils.current-selector-or-root() {
171
- @include token-utils.create-token-values(tokens-mat-badge.$prefix,
172
- tokens-mat-badge.get-color-tokens($theme));
175
+ @if inspection.get-theme-version($theme) == 1 {
176
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
173
177
  }
178
+ @else {
179
+ @include sass-utils.current-selector-or-root() {
180
+ @include token-utils.create-token-values(tokens-mat-badge.$prefix,
181
+ tokens-mat-badge.get-color-tokens($theme));
182
+ }
174
183
 
175
- .mat-badge-accent {
176
- @include token-utils.create-token-values(tokens-mat-badge.$prefix,
177
- tokens-mat-badge.private-get-color-palette-color-tokens($theme, accent));
178
- }
184
+ .mat-badge-accent {
185
+ @include token-utils.create-token-values(tokens-mat-badge.$prefix,
186
+ tokens-mat-badge.private-get-color-palette-color-tokens($theme, accent));
187
+ }
179
188
 
180
- .mat-badge-warn {
181
- @include token-utils.create-token-values(tokens-mat-badge.$prefix,
182
- tokens-mat-badge.private-get-color-palette-color-tokens($theme, warn));
189
+ .mat-badge-warn {
190
+ @include token-utils.create-token-values(tokens-mat-badge.$prefix,
191
+ tokens-mat-badge.private-get-color-palette-color-tokens($theme, warn));
192
+ }
183
193
  }
184
194
  }
185
195
 
186
196
  @mixin typography($theme) {
187
- @include sass-utils.current-selector-or-root() {
188
- @include token-utils.create-token-values(tokens-mat-badge.$prefix,
189
- tokens-mat-badge.get-typography-tokens($theme));
197
+ @if inspection.get-theme-version($theme) == 1 {
198
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
199
+ }
200
+ @else {
201
+ @include sass-utils.current-selector-or-root() {
202
+ @include token-utils.create-token-values(tokens-mat-badge.$prefix,
203
+ tokens-mat-badge.get-typography-tokens($theme));
204
+ }
190
205
  }
191
206
  }
192
207
 
193
- @mixin density($theme) {}
208
+ @mixin density($theme) {
209
+ @if inspection.get-theme-version($theme) == 1 {
210
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
211
+ }
212
+ @else {}
213
+ }
194
214
 
195
215
  @mixin theme($theme) {
196
216
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-badge') {
197
- // Try to reduce the number of times that the structural styles are emitted.
198
- @if not $_badge-structure-emitted {
199
- @include _badge-structure;
200
-
201
- // Only flip the flag if the mixin is included at the top level. Otherwise the first
202
- // inclusion might be inside of a theme class which will exclude the structural styles
203
- // from all other themes.
204
- @if not & {
205
- $_badge-structure-emitted: true !global;
206
- }
217
+ @if inspection.get-theme-version($theme) == 1 {
218
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
207
219
  }
220
+ @else {
221
+ // Try to reduce the number of times that the structural styles are emitted.
222
+ @if not $_badge-structure-emitted {
223
+ @include _badge-structure;
224
+
225
+ // Only flip the flag if the mixin is included at the top level. Otherwise the first
226
+ // inclusion might be inside of a theme class which will exclude the structural styles
227
+ // from all other themes.
228
+ @if not & {
229
+ $_badge-structure-emitted: true !global;
230
+ }
231
+ }
208
232
 
209
- @include base($theme);
210
- @if inspection.theme-has($theme, color) {
211
- @include color($theme);
212
- }
213
- @if inspection.theme-has($theme, density) {
214
- @include density($theme);
215
- }
216
- @if inspection.theme-has($theme, typography) {
217
- @include typography($theme);
233
+ @include base($theme);
234
+ @if inspection.theme-has($theme, color) {
235
+ @include color($theme);
236
+ }
237
+ @if inspection.theme-has($theme, density) {
238
+ @include density($theme);
239
+ }
240
+ @if inspection.theme-has($theme, typography) {
241
+ @include typography($theme);
242
+ }
218
243
  }
219
244
  }
220
245
  }
246
+
247
+ @mixin _theme-from-tokens($tokens) {
248
+ @if ($tokens != ()) {
249
+ @include token-utils.create-token-values(
250
+ tokens-mat-badge.$prefix, map.get($tokens, tokens-mat-badge.$prefix));
251
+ }
252
+ }
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '../core/typography/typography';
2
3
  @use '../core/theming/theming';
3
4
  @use '../core/theming/inspection';
@@ -6,39 +7,71 @@
6
7
  @use '../core/tokens/m2/mat/bottom-sheet' as tokens-mat-bottom-sheet;
7
8
 
8
9
  @mixin base($theme) {
9
- @include sass-utils.current-selector-or-root() {
10
- @include token-utils.create-token-values(
11
- tokens-mat-bottom-sheet.$prefix, tokens-mat-bottom-sheet.get-unthemable-tokens());
10
+ @if inspection.get-theme-version($theme) == 1 {
11
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
12
+ }
13
+ @else {
14
+ @include sass-utils.current-selector-or-root() {
15
+ @include token-utils.create-token-values(
16
+ tokens-mat-bottom-sheet.$prefix, tokens-mat-bottom-sheet.get-unthemable-tokens());
17
+ }
12
18
  }
13
19
  }
14
20
 
15
21
  @mixin color($theme) {
16
- @include sass-utils.current-selector-or-root() {
17
- @include token-utils.create-token-values(tokens-mat-bottom-sheet.$prefix,
18
- tokens-mat-bottom-sheet.get-color-tokens($theme));
22
+ @if inspection.get-theme-version($theme) == 1 {
23
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
24
+ }
25
+ @else {
26
+ @include sass-utils.current-selector-or-root() {
27
+ @include token-utils.create-token-values(tokens-mat-bottom-sheet.$prefix,
28
+ tokens-mat-bottom-sheet.get-color-tokens($theme));
29
+ }
19
30
  }
20
31
  }
21
32
 
22
33
  @mixin typography($theme) {
23
- @include sass-utils.current-selector-or-root() {
24
- @include token-utils.create-token-values(tokens-mat-bottom-sheet.$prefix,
25
- tokens-mat-bottom-sheet.get-typography-tokens($theme));
34
+ @if inspection.get-theme-version($theme) == 1 {
35
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
36
+ }
37
+ @else {
38
+ @include sass-utils.current-selector-or-root() {
39
+ @include token-utils.create-token-values(tokens-mat-bottom-sheet.$prefix,
40
+ tokens-mat-bottom-sheet.get-typography-tokens($theme));
41
+ }
26
42
  }
27
43
  }
28
44
 
29
- @mixin density($theme) {}
45
+ @mixin density($theme) {
46
+ @if inspection.get-theme-version($theme) == 1 {
47
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
48
+ }
49
+ @else {}
50
+ }
30
51
 
31
52
  @mixin theme($theme) {
32
53
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-bottom-sheet') {
33
- @include base($theme);
34
- @if inspection.theme-has($theme, color) {
35
- @include color($theme);
54
+ @if inspection.get-theme-version($theme) == 1 {
55
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
36
56
  }
37
- @if inspection.theme-has($theme, density) {
38
- @include density($theme);
39
- }
40
- @if inspection.theme-has($theme, typography) {
41
- @include typography($theme);
57
+ @else {
58
+ @include base($theme);
59
+ @if inspection.theme-has($theme, color) {
60
+ @include color($theme);
61
+ }
62
+ @if inspection.theme-has($theme, density) {
63
+ @include density($theme);
64
+ }
65
+ @if inspection.theme-has($theme, typography) {
66
+ @include typography($theme);
67
+ }
42
68
  }
43
69
  }
44
70
  }
71
+
72
+ @mixin _theme-from-tokens($tokens) {
73
+ @if ($tokens != ()) {
74
+ @include token-utils.create-token-values(
75
+ tokens-mat-bottom-sheet.$prefix, map.get($tokens, tokens-mat-bottom-sheet.$prefix));
76
+ }
77
+ }
@@ -168,6 +168,13 @@
168
168
  @include mdc-helpers.using-mdc-typography($theme) {
169
169
  @include mdc-button.without-ripple($query: mdc-helpers.$mdc-typography-styles-query);
170
170
  }
171
+
172
+ .mat-mdc-button,
173
+ .mat-mdc-raised-button,
174
+ .mat-mdc-outlined-button,
175
+ .mat-mdc-unelevated-button {
176
+ line-height: inherit;
177
+ }
171
178
  }
172
179
 
173
180
  @mixin density($theme) {
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '../core/theming/theming';
2
3
  @use '../core/theming/inspection';
3
4
  @use '../core/typography/typography';
@@ -7,56 +8,89 @@
7
8
  @use '../core/style/sass-utils';
8
9
 
9
10
  @mixin base($theme) {
10
- @include sass-utils.current-selector-or-root() {
11
- @include token-utils.create-token-values(
12
- tokens-mat-legacy-button-toggle.$prefix,
13
- tokens-mat-legacy-button-toggle.get-unthemable-tokens()
14
- );
15
- @include token-utils.create-token-values(
16
- tokens-mat-standard-button-toggle.$prefix,
17
- tokens-mat-standard-button-toggle.get-unthemable-tokens()
18
- );
11
+ @if inspection.get-theme-version($theme) == 1 {
12
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
13
+ }
14
+ @else {
15
+ @include sass-utils.current-selector-or-root() {
16
+ @include token-utils.create-token-values(
17
+ tokens-mat-legacy-button-toggle.$prefix,
18
+ tokens-mat-legacy-button-toggle.get-unthemable-tokens()
19
+ );
20
+ @include token-utils.create-token-values(
21
+ tokens-mat-standard-button-toggle.$prefix,
22
+ tokens-mat-standard-button-toggle.get-unthemable-tokens()
23
+ );
24
+ }
19
25
  }
20
26
  }
21
27
 
22
28
  @mixin color($theme) {
23
- @include sass-utils.current-selector-or-root() {
24
- @include token-utils.create-token-values(tokens-mat-legacy-button-toggle.$prefix,
25
- tokens-mat-legacy-button-toggle.get-color-tokens($theme));
26
- @include token-utils.create-token-values(tokens-mat-standard-button-toggle.$prefix,
27
- tokens-mat-standard-button-toggle.get-color-tokens($theme));
29
+ @if inspection.get-theme-version($theme) == 1 {
30
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
31
+ }
32
+ @else {
33
+ @include sass-utils.current-selector-or-root() {
34
+ @include token-utils.create-token-values(tokens-mat-legacy-button-toggle.$prefix,
35
+ tokens-mat-legacy-button-toggle.get-color-tokens($theme));
36
+ @include token-utils.create-token-values(tokens-mat-standard-button-toggle.$prefix,
37
+ tokens-mat-standard-button-toggle.get-color-tokens($theme));
38
+ }
28
39
  }
29
40
  }
30
41
 
31
42
  @mixin typography($theme) {
32
- @include sass-utils.current-selector-or-root() {
33
- @include token-utils.create-token-values(tokens-mat-legacy-button-toggle.$prefix,
34
- tokens-mat-legacy-button-toggle.get-typography-tokens($theme));
35
- @include token-utils.create-token-values(tokens-mat-standard-button-toggle.$prefix,
36
- tokens-mat-standard-button-toggle.get-typography-tokens($theme));
43
+ @if inspection.get-theme-version($theme) == 1 {
44
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
45
+ }
46
+ @else {
47
+ @include sass-utils.current-selector-or-root() {
48
+ @include token-utils.create-token-values(tokens-mat-legacy-button-toggle.$prefix,
49
+ tokens-mat-legacy-button-toggle.get-typography-tokens($theme));
50
+ @include token-utils.create-token-values(tokens-mat-standard-button-toggle.$prefix,
51
+ tokens-mat-standard-button-toggle.get-typography-tokens($theme));
52
+ }
37
53
  }
38
54
  }
39
55
 
40
56
  @mixin density($theme) {
41
- @include sass-utils.current-selector-or-root() {
42
- @include token-utils.create-token-values(tokens-mat-legacy-button-toggle.$prefix,
43
- tokens-mat-legacy-button-toggle.get-density-tokens($theme));
44
- @include token-utils.create-token-values(tokens-mat-standard-button-toggle.$prefix,
45
- tokens-mat-standard-button-toggle.get-density-tokens($theme));
57
+ @if inspection.get-theme-version($theme) == 1 {
58
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
59
+ }
60
+ @else {
61
+ @include sass-utils.current-selector-or-root() {
62
+ @include token-utils.create-token-values(tokens-mat-legacy-button-toggle.$prefix,
63
+ tokens-mat-legacy-button-toggle.get-density-tokens($theme));
64
+ @include token-utils.create-token-values(tokens-mat-standard-button-toggle.$prefix,
65
+ tokens-mat-standard-button-toggle.get-density-tokens($theme));
66
+ }
46
67
  }
47
68
  }
48
69
 
49
70
  @mixin theme($theme) {
50
71
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-button-toggle') {
51
- @include base($theme);
52
- @if inspection.theme-has($theme, color) {
53
- @include color($theme);
72
+ @if inspection.get-theme-version($theme) == 1 {
73
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
54
74
  }
55
- @if inspection.theme-has($theme, density) {
56
- @include density($theme);
57
- }
58
- @if inspection.theme-has($theme, typography) {
59
- @include typography($theme);
75
+ @else {
76
+ @include base($theme);
77
+ @if inspection.theme-has($theme, color) {
78
+ @include color($theme);
79
+ }
80
+ @if inspection.theme-has($theme, density) {
81
+ @include density($theme);
82
+ }
83
+ @if inspection.theme-has($theme, typography) {
84
+ @include typography($theme);
85
+ }
60
86
  }
61
87
  }
62
88
  }
89
+
90
+ @mixin _theme-from-tokens($tokens) {
91
+ @if ($tokens != ()) {
92
+ @include token-utils.create-token-values(
93
+ tokens-mat-standard-button-toggle.$prefix,
94
+ map.get($tokens, tokens-mat-standard-button-toggle.$prefix));
95
+ }
96
+ }
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use 'sass:color';
2
3
  @use '@material/chips/chip-theme' as mdc-chip-theme;
3
4
  @use '../core/tokens/m2/mdc/chip' as tokens-mdc-chip;
@@ -6,63 +7,94 @@
6
7
  @use '../core/typography/typography';
7
8
 
8
9
  @mixin base($theme) {
9
- .mat-mdc-standard-chip {
10
- @include mdc-chip-theme.theme(tokens-mdc-chip.get-unthemable-tokens());
10
+ @if inspection.get-theme-version($theme) == 1 {
11
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
12
+ }
13
+ @else {
14
+ .mat-mdc-standard-chip {
15
+ @include mdc-chip-theme.theme(tokens-mdc-chip.get-unthemable-tokens());
16
+ }
11
17
  }
12
18
  }
13
19
 
14
20
  @mixin color($theme) {
15
- .mat-mdc-standard-chip {
16
- $default-color-tokens: tokens-mdc-chip.get-color-tokens($theme);
17
- @include mdc-chip-theme.theme($default-color-tokens);
21
+ @if inspection.get-theme-version($theme) == 1 {
22
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
23
+ }
24
+ @else {
25
+ .mat-mdc-standard-chip {
26
+ $default-color-tokens: tokens-mdc-chip.get-color-tokens($theme);
27
+ @include mdc-chip-theme.theme($default-color-tokens);
18
28
 
19
- &.mat-mdc-chip-selected,
20
- &.mat-mdc-chip-highlighted {
21
- &.mat-primary {
22
- $primary-color-tokens: tokens-mdc-chip.get-color-tokens($theme, primary);
23
- @include mdc-chip-theme.theme($primary-color-tokens);
24
- }
29
+ &.mat-mdc-chip-selected,
30
+ &.mat-mdc-chip-highlighted {
31
+ &.mat-primary {
32
+ $primary-color-tokens: tokens-mdc-chip.get-color-tokens($theme, primary);
33
+ @include mdc-chip-theme.theme($primary-color-tokens);
34
+ }
25
35
 
26
- &.mat-accent {
27
- $accent-color-tokens: tokens-mdc-chip.get-color-tokens($theme, accent);
28
- @include mdc-chip-theme.theme($accent-color-tokens);
29
- }
36
+ &.mat-accent {
37
+ $accent-color-tokens: tokens-mdc-chip.get-color-tokens($theme, accent);
38
+ @include mdc-chip-theme.theme($accent-color-tokens);
39
+ }
30
40
 
31
- &.mat-warn {
32
- $warn-color-tokens: tokens-mdc-chip.get-color-tokens($theme, warn);
33
- @include mdc-chip-theme.theme($warn-color-tokens);
41
+ &.mat-warn {
42
+ $warn-color-tokens: tokens-mdc-chip.get-color-tokens($theme, warn);
43
+ @include mdc-chip-theme.theme($warn-color-tokens);
44
+ }
34
45
  }
35
46
  }
36
47
  }
37
48
  }
38
49
 
39
50
  @mixin typography($theme) {
40
- $typography-tokens: tokens-mdc-chip.get-typography-tokens($theme);
51
+ @if inspection.get-theme-version($theme) == 1 {
52
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
53
+ }
54
+ @else {
55
+ $typography-tokens: tokens-mdc-chip.get-typography-tokens($theme);
41
56
 
42
- .mat-mdc-standard-chip {
43
- @include mdc-chip-theme.theme($typography-tokens);
57
+ .mat-mdc-standard-chip {
58
+ @include mdc-chip-theme.theme($typography-tokens);
59
+ }
44
60
  }
45
61
  }
46
62
 
47
63
  @mixin density($theme) {
48
- $density-tokens: tokens-mdc-chip.get-density-tokens($theme);
64
+ @if inspection.get-theme-version($theme) == 1 {
65
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
66
+ }
67
+ @else {
68
+ $density-tokens: tokens-mdc-chip.get-density-tokens($theme);
49
69
 
50
- .mat-mdc-chip.mat-mdc-standard-chip {
51
- @include mdc-chip-theme.theme($density-tokens);
70
+ .mat-mdc-chip.mat-mdc-standard-chip {
71
+ @include mdc-chip-theme.theme($density-tokens);
72
+ }
52
73
  }
53
74
  }
54
75
 
55
76
  @mixin theme($theme) {
56
77
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-chips') {
57
- @include base($theme);
58
- @if inspection.theme-has($theme, color) {
59
- @include color($theme);
60
- }
61
- @if inspection.theme-has($theme, density) {
62
- @include density($theme);
78
+ @if inspection.get-theme-version($theme) == 1 {
79
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
63
80
  }
64
- @if inspection.theme-has($theme, typography) {
65
- @include typography($theme);
81
+ @else {
82
+ @include base($theme);
83
+ @if inspection.theme-has($theme, color) {
84
+ @include color($theme);
85
+ }
86
+ @if inspection.theme-has($theme, density) {
87
+ @include density($theme);
88
+ }
89
+ @if inspection.theme-has($theme, typography) {
90
+ @include typography($theme);
91
+ }
66
92
  }
67
93
  }
68
94
  }
95
+
96
+ @mixin _theme-from-tokens($tokens) {
97
+ @if ($tokens != ()) {
98
+ @include mdc-chip-theme.theme(map.get($tokens, tokens-mdc-chip.$prefix));
99
+ }
100
+ }
@@ -60,10 +60,8 @@
60
60
  @mixin density($theme) {
61
61
  @include option-theme.density($theme);
62
62
  @include optgroup-theme.density($theme);
63
+ @include pseudo-checkbox-theme.density($theme);
63
64
  @include ripple-theme.density($theme);
64
-
65
- // TODO(mmalerba): add density mixins for these.
66
- // @include pseudo-checkbox-theme.density($theme);
67
65
  }
68
66
 
69
67
  // Mixin that renders all of the core styles that depend on the theme.