@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/tokens/m2/mat/table' as tokens-mat-table;
2
3
  @use '../core/theming/theming';
3
4
  @use '../core/theming/inspection';
@@ -6,44 +7,76 @@
6
7
  @use '../core/style/sass-utils';
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-table.$prefix, tokens-mat-table.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-table.$prefix, tokens-mat-table.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-table.$prefix,
18
- tokens-mat-table.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-table.$prefix,
28
+ tokens-mat-table.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-table.$prefix,
25
- tokens-mat-table.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-table.$prefix,
40
+ tokens-mat-table.get-typography-tokens($theme));
41
+ }
26
42
  }
27
43
  }
28
44
 
29
45
  @mixin density($theme) {
30
- @include sass-utils.current-selector-or-root() {
31
- @include token-utils.create-token-values(tokens-mat-table.$prefix,
32
- tokens-mat-table.get-density-tokens($theme));
46
+ @if inspection.get-theme-version($theme) == 1 {
47
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
48
+ }
49
+ @else {
50
+ @include sass-utils.current-selector-or-root() {
51
+ @include token-utils.create-token-values(tokens-mat-table.$prefix,
52
+ tokens-mat-table.get-density-tokens($theme));
53
+ }
33
54
  }
34
55
  }
35
56
 
36
57
  @mixin theme($theme) {
37
58
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-table') {
38
- @include base($theme);
39
- @if inspection.theme-has($theme, color) {
40
- @include color($theme);
59
+ @if inspection.get-theme-version($theme) == 1 {
60
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
41
61
  }
42
- @if inspection.theme-has($theme, density) {
43
- @include density($theme);
44
- }
45
- @if inspection.theme-has($theme, typography) {
46
- @include typography($theme);
62
+ @else {
63
+ @include base($theme);
64
+ @if inspection.theme-has($theme, color) {
65
+ @include color($theme);
66
+ }
67
+ @if inspection.theme-has($theme, density) {
68
+ @include density($theme);
69
+ }
70
+ @if inspection.theme-has($theme, typography) {
71
+ @include typography($theme);
72
+ }
47
73
  }
48
74
  }
49
75
  }
76
+
77
+ @mixin _theme-from-tokens($tokens) {
78
+ @if ($tokens != ()) {
79
+ @include token-utils.create-token-values(
80
+ tokens-mat-table.$prefix, map.get($tokens, tokens-mat-table.$prefix));
81
+ }
82
+ }
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '@material/tab-indicator/tab-indicator-theme' as mdc-tab-indicator-theme;
2
3
  @use '@material/tab/tab-theme' as mdc-tab-theme;
3
4
  @use '../core/style/sass-utils';
@@ -11,40 +12,50 @@
11
12
  @use '../core/tokens/token-utils';
12
13
 
13
14
  @mixin base($theme) {
14
- @include sass-utils.current-selector-or-root() {
15
- @include mdc-tab-indicator-theme.theme(tokens-mdc-tab-indicator.get-unthemable-tokens());
16
- @include mdc-tab-theme.secondary-navigation-tab-theme(tokens-mdc-tab.get-unthemable-tokens());
17
- @include token-utils.create-token-values(
18
- tokens-mat-tab-header.$prefix, tokens-mat-tab-header.get-unthemable-tokens());
19
- @include token-utils.create-token-values(
20
- tokens-mat-tab-header-with-background.$prefix,
21
- tokens-mat-tab-header-with-background.get-unthemable-tokens()
22
- );
15
+ @if inspection.get-theme-version($theme) == 1 {
16
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
17
+ }
18
+ @else {
19
+ @include sass-utils.current-selector-or-root() {
20
+ @include mdc-tab-indicator-theme.theme(tokens-mdc-tab-indicator.get-unthemable-tokens());
21
+ @include mdc-tab-theme.secondary-navigation-tab-theme(tokens-mdc-tab.get-unthemable-tokens());
22
+ @include token-utils.create-token-values(
23
+ tokens-mat-tab-header.$prefix, tokens-mat-tab-header.get-unthemable-tokens());
24
+ @include token-utils.create-token-values(
25
+ tokens-mat-tab-header-with-background.$prefix,
26
+ tokens-mat-tab-header-with-background.get-unthemable-tokens()
27
+ );
28
+ }
23
29
  }
24
30
  }
25
31
 
26
32
  @mixin color($theme) {
27
- .mat-mdc-tab-group, .mat-mdc-tab-nav-bar {
28
- @include _palette-styles($theme, primary);
33
+ @if inspection.get-theme-version($theme) == 1 {
34
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
35
+ }
36
+ @else {
37
+ .mat-mdc-tab-group, .mat-mdc-tab-nav-bar {
38
+ @include _palette-styles($theme, primary);
29
39
 
30
- &.mat-accent {
31
- @include _palette-styles($theme, accent);
32
- }
40
+ &.mat-accent {
41
+ @include _palette-styles($theme, accent);
42
+ }
33
43
 
34
- &.mat-warn {
35
- @include _palette-styles($theme, warn);
36
- }
44
+ &.mat-warn {
45
+ @include _palette-styles($theme, warn);
46
+ }
37
47
 
38
- &.mat-background-primary {
39
- @include _background-styles($theme, primary);
40
- }
48
+ &.mat-background-primary {
49
+ @include _background-styles($theme, primary);
50
+ }
41
51
 
42
- &.mat-background-accent {
43
- @include _background-styles($theme, accent);
44
- }
52
+ &.mat-background-accent {
53
+ @include _background-styles($theme, accent);
54
+ }
45
55
 
46
- &.mat-background-warn {
47
- @include _background-styles($theme, warn);
56
+ &.mat-background-warn {
57
+ @include _background-styles($theme, warn);
58
+ }
48
59
  }
49
60
  }
50
61
  }
@@ -64,43 +75,68 @@
64
75
  }
65
76
 
66
77
  @mixin typography($theme) {
67
- .mat-mdc-tab-header {
68
- @include mdc-tab-theme.secondary-navigation-tab-theme(
69
- tokens-mdc-tab.get-typography-tokens($theme));
70
- @include mdc-tab-indicator-theme.theme(
71
- tokens-mdc-tab-indicator.get-typography-tokens($theme));
72
- @include token-utils.create-token-values(tokens-mat-tab-header.$prefix,
73
- tokens-mat-tab-header.get-typography-tokens($theme));
74
- @include token-utils.create-token-values(tokens-mat-tab-header-with-background.$prefix,
75
- tokens-mat-tab-header-with-background.get-typography-tokens($theme));
78
+ @if inspection.get-theme-version($theme) == 1 {
79
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
80
+ }
81
+ @else {
82
+ .mat-mdc-tab-header {
83
+ @include mdc-tab-theme.secondary-navigation-tab-theme(
84
+ tokens-mdc-tab.get-typography-tokens($theme));
85
+ @include mdc-tab-indicator-theme.theme(
86
+ tokens-mdc-tab-indicator.get-typography-tokens($theme));
87
+ @include token-utils.create-token-values(tokens-mat-tab-header.$prefix,
88
+ tokens-mat-tab-header.get-typography-tokens($theme));
89
+ @include token-utils.create-token-values(tokens-mat-tab-header-with-background.$prefix,
90
+ tokens-mat-tab-header-with-background.get-typography-tokens($theme));
91
+ }
76
92
  }
77
93
  }
78
94
 
79
95
  @mixin density($theme) {
80
- .mat-mdc-tab-header {
81
- @include mdc-tab-theme.secondary-navigation-tab-theme(
82
- tokens-mdc-tab.get-density-tokens($theme));
83
- @include mdc-tab-indicator-theme.theme(
84
- tokens-mdc-tab-indicator.get-density-tokens($theme));
85
- @include token-utils.create-token-values(tokens-mat-tab-header.$prefix,
86
- tokens-mat-tab-header.get-density-tokens($theme));
87
- @include token-utils.create-token-values(tokens-mat-tab-header-with-background.$prefix,
88
- tokens-mat-tab-header-with-background.get-density-tokens($theme));
96
+ @if inspection.get-theme-version($theme) == 1 {
97
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
98
+ }
99
+ @else {
100
+ .mat-mdc-tab-header {
101
+ @include mdc-tab-theme.secondary-navigation-tab-theme(
102
+ tokens-mdc-tab.get-density-tokens($theme));
103
+ @include mdc-tab-indicator-theme.theme(
104
+ tokens-mdc-tab-indicator.get-density-tokens($theme));
105
+ @include token-utils.create-token-values(tokens-mat-tab-header.$prefix,
106
+ tokens-mat-tab-header.get-density-tokens($theme));
107
+ @include token-utils.create-token-values(tokens-mat-tab-header-with-background.$prefix,
108
+ tokens-mat-tab-header-with-background.get-density-tokens($theme));
109
+ }
89
110
  }
90
111
  }
91
112
 
92
113
  @mixin theme($theme) {
93
114
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-tabs') {
94
- @include base($theme);
95
- @if inspection.theme-has($theme, color) {
96
- @include color($theme);
97
- }
98
- @if inspection.theme-has($theme, density) {
99
- @include density($theme);
115
+ @if inspection.get-theme-version($theme) == 1 {
116
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
100
117
  }
101
- @if inspection.theme-has($theme, typography) {
102
- @include typography($theme);
118
+ @else {
119
+ @include base($theme);
120
+ @if inspection.theme-has($theme, color) {
121
+ @include color($theme);
122
+ }
123
+ @if inspection.theme-has($theme, density) {
124
+ @include density($theme);
125
+ }
126
+ @if inspection.theme-has($theme, typography) {
127
+ @include typography($theme);
128
+ }
103
129
  }
104
130
  }
105
131
  }
106
132
 
133
+ @mixin _theme-from-tokens($tokens) {
134
+ @if ($tokens != ()) {
135
+ @include mdc-tab-theme.secondary-navigation-tab-theme(
136
+ map.get($tokens, tokens-mdc-tab.$prefix));
137
+ @include mdc-tab-indicator-theme.theme(
138
+ map.get($tokens, tokens-mdc-tab-indicator.$prefix));
139
+ @include token-utils.create-token-values(
140
+ tokens-mat-tab-header.$prefix, map.get($tokens, tokens-mat-tab-header.$prefix));
141
+ }
142
+ }
@@ -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,46 +6,77 @@
5
6
  @use '../core/tokens/token-utils';
6
7
  @use '../core/tokens/m2/mat/tree' as tokens-mat-tree;
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-tree.$prefix,
13
- tokens-mat-tree.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-tree.$prefix,
23
+ tokens-mat-tree.get-color-tokens($theme));
24
+ }
14
25
  }
15
26
  }
16
27
 
17
28
  @mixin typography($theme) {
18
- // TODO(mmalerba): Stop calling this and resolve resulting screen diffs.
19
- $theme: inspection.private-get-typography-back-compat-theme($theme);
29
+ @if inspection.get-theme-version($theme) == 1 {
30
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
31
+ }
32
+ @else {
33
+ // TODO(mmalerba): Stop calling this and resolve resulting screen diffs.
34
+ $theme: inspection.private-get-typography-back-compat-theme($theme);
20
35
 
21
- @include sass-utils.current-selector-or-root() {
22
- @include token-utils.create-token-values(tokens-mat-tree.$prefix,
23
- tokens-mat-tree.get-typography-tokens($theme));
36
+ @include sass-utils.current-selector-or-root() {
37
+ @include token-utils.create-token-values(tokens-mat-tree.$prefix,
38
+ tokens-mat-tree.get-typography-tokens($theme));
39
+ }
24
40
  }
25
41
  }
26
42
 
27
43
  @mixin density($theme) {
28
- $density-scale: inspection.get-theme-density($theme);
44
+ @if inspection.get-theme-version($theme) == 1 {
45
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
46
+ }
47
+ @else {
48
+ $density-scale: inspection.get-theme-density($theme);
29
49
 
30
- @include sass-utils.current-selector-or-root() {
31
- @include token-utils.create-token-values(tokens-mat-tree.$prefix,
32
- tokens-mat-tree.get-density-tokens($theme));
50
+ @include sass-utils.current-selector-or-root() {
51
+ @include token-utils.create-token-values(tokens-mat-tree.$prefix,
52
+ tokens-mat-tree.get-density-tokens($theme));
53
+ }
33
54
  }
34
55
  }
35
56
 
36
57
  @mixin theme($theme) {
37
58
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-tree') {
38
- @include base($theme);
39
- @if inspection.theme-has($theme, color) {
40
- @include color($theme);
41
- }
42
- @if inspection.theme-has($theme, density) {
43
- @include density($theme);
59
+ @if inspection.get-theme-version($theme) == 1 {
60
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
44
61
  }
45
- @if inspection.theme-has($theme, typography) {
46
- @include typography($theme);
62
+ @else {
63
+ @include base($theme);
64
+ @if inspection.theme-has($theme, color) {
65
+ @include color($theme);
66
+ }
67
+ @if inspection.theme-has($theme, density) {
68
+ @include density($theme);
69
+ }
70
+ @if inspection.theme-has($theme, typography) {
71
+ @include typography($theme);
72
+ }
47
73
  }
48
74
  }
49
75
  }
50
76
 
77
+ @mixin _theme-from-tokens($tokens) {
78
+ @if ($tokens != ()) {
79
+ @include token-utils.create-token-values(
80
+ tokens-mat-tree.$prefix, map.get($tokens, tokens-mat-tree.$prefix));
81
+ }
82
+ }