@angular/material 17.0.1 → 17.0.3

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 (245) hide show
  1. package/autocomplete/_autocomplete-theme.scss +47 -14
  2. package/badge/_badge-theme.scss +67 -35
  3. package/bottom-sheet/_bottom-sheet-theme.scss +51 -18
  4. package/button/_button-theme.scss +4 -1
  5. package/button-toggle/_button-toggle-theme.scss +66 -32
  6. package/chips/_chips-theme.scss +64 -32
  7. package/core/_core-theme.scss +1 -3
  8. package/core/option/_optgroup-theme.scss +47 -16
  9. package/core/option/_option-theme.scss +54 -23
  10. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +18 -58
  11. package/core/tokens/m2/_index.scss +30 -0
  12. package/core/tokens/m2/mat/_full-pseudo-checkbox.scss +49 -0
  13. package/core/tokens/m2/mat/_minimal-pseudo-checkbox.scss +43 -0
  14. package/datepicker/_datepicker-theme.scss +70 -38
  15. package/dialog/_dialog-theme.scss +48 -17
  16. package/divider/_divider-theme.scss +49 -16
  17. package/esm2022/autocomplete/autocomplete-origin.mjs +3 -3
  18. package/esm2022/autocomplete/autocomplete-trigger.mjs +18 -9
  19. package/esm2022/autocomplete/autocomplete.mjs +3 -3
  20. package/esm2022/autocomplete/module.mjs +4 -4
  21. package/esm2022/badge/badge-module.mjs +4 -4
  22. package/esm2022/badge/badge.mjs +3 -3
  23. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +3 -3
  24. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +4 -4
  25. package/esm2022/bottom-sheet/bottom-sheet.mjs +3 -3
  26. package/esm2022/button/button-base.mjs +6 -6
  27. package/esm2022/button/button.mjs +6 -6
  28. package/esm2022/button/fab.mjs +12 -12
  29. package/esm2022/button/icon-button.mjs +6 -6
  30. package/esm2022/button/module.mjs +4 -4
  31. package/esm2022/button-toggle/button-toggle-module.mjs +4 -4
  32. package/esm2022/button-toggle/button-toggle.mjs +6 -6
  33. package/esm2022/card/card.mjs +42 -42
  34. package/esm2022/card/module.mjs +4 -4
  35. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  36. package/esm2022/checkbox/checkbox.mjs +3 -3
  37. package/esm2022/checkbox/module.mjs +8 -8
  38. package/esm2022/chips/chip-action.mjs +3 -3
  39. package/esm2022/chips/chip-edit-input.mjs +3 -3
  40. package/esm2022/chips/chip-grid.mjs +3 -3
  41. package/esm2022/chips/chip-icons.mjs +9 -9
  42. package/esm2022/chips/chip-input.mjs +3 -3
  43. package/esm2022/chips/chip-listbox.mjs +3 -3
  44. package/esm2022/chips/chip-option.mjs +3 -3
  45. package/esm2022/chips/chip-row.mjs +3 -3
  46. package/esm2022/chips/chip-set.mjs +3 -3
  47. package/esm2022/chips/chip.mjs +3 -3
  48. package/esm2022/chips/module.mjs +4 -4
  49. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  50. package/esm2022/core/datetime/index.mjs +8 -8
  51. package/esm2022/core/datetime/native-date-adapter.mjs +3 -3
  52. package/esm2022/core/error/error-options.mjs +6 -6
  53. package/esm2022/core/line/line.mjs +7 -7
  54. package/esm2022/core/option/index.mjs +4 -4
  55. package/esm2022/core/option/optgroup.mjs +3 -3
  56. package/esm2022/core/option/option.mjs +3 -3
  57. package/esm2022/core/private/ripple-loader.mjs +3 -3
  58. package/esm2022/core/ripple/index.mjs +4 -4
  59. package/esm2022/core/ripple/ripple.mjs +3 -3
  60. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  61. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  62. package/esm2022/core/version.mjs +1 -1
  63. package/esm2022/datepicker/calendar-body.mjs +3 -3
  64. package/esm2022/datepicker/calendar.mjs +6 -6
  65. package/esm2022/datepicker/date-range-input-parts.mjs +9 -9
  66. package/esm2022/datepicker/date-range-input.mjs +3 -3
  67. package/esm2022/datepicker/date-range-picker.mjs +3 -3
  68. package/esm2022/datepicker/date-range-selection-strategy.mjs +3 -3
  69. package/esm2022/datepicker/date-selection-model.mjs +9 -9
  70. package/esm2022/datepicker/datepicker-actions.mjs +9 -9
  71. package/esm2022/datepicker/datepicker-base.mjs +6 -6
  72. package/esm2022/datepicker/datepicker-input-base.mjs +3 -3
  73. package/esm2022/datepicker/datepicker-input.mjs +3 -3
  74. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  75. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  76. package/esm2022/datepicker/datepicker-toggle.mjs +6 -6
  77. package/esm2022/datepicker/datepicker.mjs +3 -3
  78. package/esm2022/datepicker/month-view.mjs +3 -3
  79. package/esm2022/datepicker/multi-year-view.mjs +3 -3
  80. package/esm2022/datepicker/year-view.mjs +3 -3
  81. package/esm2022/dialog/dialog-container.mjs +3 -3
  82. package/esm2022/dialog/dialog-content-directives.mjs +12 -12
  83. package/esm2022/dialog/dialog.mjs +3 -3
  84. package/esm2022/dialog/module.mjs +4 -4
  85. package/esm2022/divider/divider-module.mjs +4 -4
  86. package/esm2022/divider/divider.mjs +3 -3
  87. package/esm2022/expansion/accordion.mjs +3 -3
  88. package/esm2022/expansion/expansion-module.mjs +4 -4
  89. package/esm2022/expansion/expansion-panel-content.mjs +3 -3
  90. package/esm2022/expansion/expansion-panel-header.mjs +9 -9
  91. package/esm2022/expansion/expansion-panel.mjs +6 -6
  92. package/esm2022/form-field/directives/error.mjs +3 -3
  93. package/esm2022/form-field/directives/floating-label.mjs +3 -3
  94. package/esm2022/form-field/directives/hint.mjs +3 -3
  95. package/esm2022/form-field/directives/label.mjs +3 -3
  96. package/esm2022/form-field/directives/line-ripple.mjs +3 -3
  97. package/esm2022/form-field/directives/notched-outline.mjs +3 -3
  98. package/esm2022/form-field/directives/prefix.mjs +3 -3
  99. package/esm2022/form-field/directives/suffix.mjs +3 -3
  100. package/esm2022/form-field/form-field-control.mjs +3 -3
  101. package/esm2022/form-field/form-field.mjs +3 -3
  102. package/esm2022/form-field/module.mjs +4 -4
  103. package/esm2022/grid-list/grid-list-module.mjs +4 -4
  104. package/esm2022/grid-list/grid-list.mjs +3 -3
  105. package/esm2022/grid-list/grid-tile.mjs +15 -15
  106. package/esm2022/icon/icon-module.mjs +4 -4
  107. package/esm2022/icon/icon-registry.mjs +3 -3
  108. package/esm2022/icon/icon.mjs +3 -3
  109. package/esm2022/icon/testing/fake-icon-registry.mjs +7 -7
  110. package/esm2022/input/input.mjs +3 -3
  111. package/esm2022/input/module.mjs +4 -4
  112. package/esm2022/list/action-list.mjs +3 -3
  113. package/esm2022/list/list-base.mjs +6 -6
  114. package/esm2022/list/list-item-sections.mjs +18 -18
  115. package/esm2022/list/list-module.mjs +4 -4
  116. package/esm2022/list/list-option.mjs +3 -3
  117. package/esm2022/list/list.mjs +6 -6
  118. package/esm2022/list/nav-list.mjs +3 -3
  119. package/esm2022/list/selection-list.mjs +3 -3
  120. package/esm2022/list/subheader.mjs +3 -3
  121. package/esm2022/menu/menu-content.mjs +3 -3
  122. package/esm2022/menu/menu-item.mjs +3 -3
  123. package/esm2022/menu/menu-trigger.mjs +3 -3
  124. package/esm2022/menu/menu.mjs +3 -3
  125. package/esm2022/menu/module.mjs +4 -4
  126. package/esm2022/paginator/module.mjs +4 -4
  127. package/esm2022/paginator/paginator-intl.mjs +3 -3
  128. package/esm2022/paginator/paginator.mjs +3 -3
  129. package/esm2022/progress-bar/module.mjs +4 -4
  130. package/esm2022/progress-bar/progress-bar.mjs +3 -3
  131. package/esm2022/progress-spinner/module.mjs +4 -4
  132. package/esm2022/progress-spinner/progress-spinner.mjs +3 -3
  133. package/esm2022/radio/module.mjs +4 -4
  134. package/esm2022/radio/radio.mjs +6 -6
  135. package/esm2022/select/module.mjs +4 -4
  136. package/esm2022/select/select.mjs +6 -6
  137. package/esm2022/sidenav/drawer.mjs +9 -9
  138. package/esm2022/sidenav/sidenav-module.mjs +4 -4
  139. package/esm2022/sidenav/sidenav.mjs +9 -9
  140. package/esm2022/slide-toggle/module.mjs +8 -8
  141. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  142. package/esm2022/slide-toggle/slide-toggle.mjs +3 -3
  143. package/esm2022/slider/module.mjs +4 -4
  144. package/esm2022/slider/slider-input.mjs +9 -8
  145. package/esm2022/slider/slider-thumb.mjs +3 -3
  146. package/esm2022/slider/slider.mjs +6 -6
  147. package/esm2022/snack-bar/module.mjs +4 -4
  148. package/esm2022/snack-bar/simple-snack-bar.mjs +3 -3
  149. package/esm2022/snack-bar/snack-bar-container.mjs +3 -3
  150. package/esm2022/snack-bar/snack-bar-content.mjs +9 -9
  151. package/esm2022/snack-bar/snack-bar.mjs +3 -3
  152. package/esm2022/sort/sort-header-intl.mjs +3 -3
  153. package/esm2022/sort/sort-header.mjs +3 -3
  154. package/esm2022/sort/sort-module.mjs +4 -4
  155. package/esm2022/sort/sort.mjs +3 -3
  156. package/esm2022/stepper/step-content.mjs +3 -3
  157. package/esm2022/stepper/step-header.mjs +3 -3
  158. package/esm2022/stepper/step-label.mjs +3 -3
  159. package/esm2022/stepper/stepper-button.mjs +6 -6
  160. package/esm2022/stepper/stepper-icon.mjs +3 -3
  161. package/esm2022/stepper/stepper-intl.mjs +3 -3
  162. package/esm2022/stepper/stepper-module.mjs +4 -4
  163. package/esm2022/stepper/stepper.mjs +6 -6
  164. package/esm2022/table/cell.mjs +21 -21
  165. package/esm2022/table/module.mjs +4 -4
  166. package/esm2022/table/row.mjs +21 -21
  167. package/esm2022/table/table.mjs +6 -6
  168. package/esm2022/table/text-column.mjs +3 -3
  169. package/esm2022/tabs/module.mjs +4 -4
  170. package/esm2022/tabs/paginated-tab-header.mjs +3 -3
  171. package/esm2022/tabs/tab-body.mjs +6 -6
  172. package/esm2022/tabs/tab-content.mjs +3 -3
  173. package/esm2022/tabs/tab-group.mjs +3 -3
  174. package/esm2022/tabs/tab-header.mjs +3 -3
  175. package/esm2022/tabs/tab-label-wrapper.mjs +3 -3
  176. package/esm2022/tabs/tab-label.mjs +3 -3
  177. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +9 -9
  178. package/esm2022/tabs/tab.mjs +3 -3
  179. package/esm2022/toolbar/toolbar-module.mjs +4 -4
  180. package/esm2022/toolbar/toolbar.mjs +6 -6
  181. package/esm2022/tooltip/module.mjs +4 -4
  182. package/esm2022/tooltip/tooltip.mjs +7 -7
  183. package/esm2022/tree/node.mjs +9 -9
  184. package/esm2022/tree/outlet.mjs +3 -3
  185. package/esm2022/tree/padding.mjs +3 -3
  186. package/esm2022/tree/toggle.mjs +3 -3
  187. package/esm2022/tree/tree-module.mjs +4 -4
  188. package/esm2022/tree/tree.mjs +3 -3
  189. package/fesm2022/autocomplete.mjs +27 -18
  190. package/fesm2022/autocomplete.mjs.map +1 -1
  191. package/fesm2022/badge.mjs +7 -7
  192. package/fesm2022/bottom-sheet.mjs +10 -10
  193. package/fesm2022/button-toggle.mjs +10 -10
  194. package/fesm2022/button.mjs +34 -34
  195. package/fesm2022/card.mjs +46 -46
  196. package/fesm2022/checkbox.mjs +14 -14
  197. package/fesm2022/chips.mjs +40 -40
  198. package/fesm2022/core.mjs +57 -57
  199. package/fesm2022/core.mjs.map +1 -1
  200. package/fesm2022/datepicker.mjs +82 -82
  201. package/fesm2022/dialog.mjs +22 -22
  202. package/fesm2022/divider.mjs +7 -7
  203. package/fesm2022/expansion.mjs +25 -25
  204. package/fesm2022/form-field.mjs +34 -34
  205. package/fesm2022/grid-list.mjs +22 -22
  206. package/fesm2022/icon/testing.mjs +7 -7
  207. package/fesm2022/icon.mjs +10 -10
  208. package/fesm2022/input.mjs +7 -7
  209. package/fesm2022/list.mjs +49 -49
  210. package/fesm2022/menu.mjs +16 -16
  211. package/fesm2022/paginator.mjs +10 -10
  212. package/fesm2022/progress-bar.mjs +7 -7
  213. package/fesm2022/progress-spinner.mjs +7 -7
  214. package/fesm2022/radio.mjs +10 -10
  215. package/fesm2022/select.mjs +10 -10
  216. package/fesm2022/sidenav.mjs +22 -22
  217. package/fesm2022/slide-toggle.mjs +14 -14
  218. package/fesm2022/slider.mjs +20 -19
  219. package/fesm2022/slider.mjs.map +1 -1
  220. package/fesm2022/snack-bar.mjs +22 -22
  221. package/fesm2022/sort.mjs +13 -13
  222. package/fesm2022/stepper.mjs +31 -31
  223. package/fesm2022/table.mjs +55 -55
  224. package/fesm2022/tabs.mjs +40 -40
  225. package/fesm2022/toolbar.mjs +10 -10
  226. package/fesm2022/tooltip.mjs +11 -11
  227. package/fesm2022/tooltip.mjs.map +1 -1
  228. package/fesm2022/tree.mjs +25 -25
  229. package/grid-list/_grid-list-theme.scss +47 -14
  230. package/icon/_icon-theme.scss +55 -23
  231. package/menu/_menu-theme.scss +50 -18
  232. package/package.json +2 -2
  233. package/paginator/_paginator-theme.scss +62 -29
  234. package/prebuilt-themes/deeppurple-amber.css +1 -1
  235. package/prebuilt-themes/indigo-pink.css +1 -1
  236. package/prebuilt-themes/pink-bluegrey.css +1 -1
  237. package/prebuilt-themes/purple-green.css +1 -1
  238. package/schematics/ng-add/index.js +1 -1
  239. package/schematics/ng-add/index.mjs +1 -1
  240. package/schematics/ng-generate/mdc-migration/index_bundled.js +427 -201
  241. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
  242. package/schematics/ng-update/index_bundled.js +41 -37
  243. package/schematics/ng-update/index_bundled.js.map +2 -2
  244. package/select/_select-theme.scss +71 -38
  245. package/sidenav/_sidenav-theme.scss +49 -16
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '../core/theming/theming';
2
3
  @use '../core/theming/inspection';
3
4
  @use '../core/tokens/m2/mat/icon' as tokens-mat-icon;
@@ -10,45 +11,76 @@
10
11
  @include token-utils.create-token-values(tokens-mat-icon.$prefix, $tokens);
11
12
  }
12
13
 
13
- @mixin base($theme) {}
14
+ @mixin base($theme) {
15
+ @if inspection.get-theme-version($theme) == 1 {
16
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
17
+ }
18
+ @else {}
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-icon.$prefix,
18
- tokens-mat-icon.get-color-tokens($theme));
22
+ @if inspection.get-theme-version($theme) == 1 {
23
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
19
24
  }
20
-
21
- .mat-icon {
22
- &.mat-primary {
23
- @include _palette-colors($theme, primary);
25
+ @else {
26
+ @include sass-utils.current-selector-or-root() {
27
+ @include token-utils.create-token-values(tokens-mat-icon.$prefix,
28
+ tokens-mat-icon.get-color-tokens($theme));
24
29
  }
25
30
 
26
- &.mat-accent {
27
- @include _palette-colors($theme, accent);
28
- }
31
+ .mat-icon {
32
+ &.mat-primary {
33
+ @include _palette-colors($theme, primary);
34
+ }
35
+
36
+ &.mat-accent {
37
+ @include _palette-colors($theme, accent);
38
+ }
29
39
 
30
- &.mat-warn {
31
- @include _palette-colors($theme, warn);
40
+ &.mat-warn {
41
+ @include _palette-colors($theme, warn);
42
+ }
32
43
  }
33
44
  }
34
45
  }
35
46
 
36
- @mixin typography($theme) {}
47
+ @mixin typography($theme) {
48
+ @if inspection.get-theme-version($theme) == 1 {
49
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
50
+ }
51
+ @else {}
52
+ }
37
53
 
38
- @mixin density($theme) {}
54
+ @mixin density($theme) {
55
+ @if inspection.get-theme-version($theme) == 1 {
56
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
57
+ }
58
+ @else {}
59
+ }
39
60
 
40
61
  @mixin theme($theme) {
41
62
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-icon') {
42
- @include base($theme);
43
- @if inspection.theme-has($theme, color) {
44
- @include color($theme);
63
+ @if inspection.get-theme-version($theme) == 1 {
64
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
45
65
  }
46
- @if inspection.theme-has($theme, density) {
47
- @include density($theme);
48
- }
49
- @if inspection.theme-has($theme, typography) {
50
- @include typography($theme);
66
+ @else {
67
+ @include base($theme);
68
+ @if inspection.theme-has($theme, color) {
69
+ @include color($theme);
70
+ }
71
+ @if inspection.theme-has($theme, density) {
72
+ @include density($theme);
73
+ }
74
+ @if inspection.theme-has($theme, typography) {
75
+ @include typography($theme);
76
+ }
51
77
  }
52
78
  }
53
79
  }
54
80
 
81
+ @mixin _theme-from-tokens($tokens) {
82
+ @if ($tokens != ()) {
83
+ @include token-utils.create-token-values(
84
+ tokens-mat-icon.$prefix, map.get($tokens, tokens-mat-icon.$prefix));
85
+ }
86
+ }
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '../core/tokens/m2/mat/menu' as tokens-mat-menu;
2
3
  @use '../core/style/sass-utils';
3
4
  @use '../core/tokens/token-utils';
@@ -6,40 +7,71 @@
6
7
  @use '../core/typography/typography';
7
8
 
8
9
  @mixin base($theme) {
9
- @include sass-utils.current-selector-or-root() {
10
- @include token-utils.create-token-values(tokens-mat-menu.$prefix,
11
- tokens-mat-menu.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(tokens-mat-menu.$prefix,
16
+ tokens-mat-menu.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-menu.$prefix,
18
- tokens-mat-menu.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-menu.$prefix,
28
+ tokens-mat-menu.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-menu.$prefix,
25
- tokens-mat-menu.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-menu.$prefix,
40
+ tokens-mat-menu.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-menu') {
33
- @include base($theme);
34
- @if inspection.theme-has($theme, color) {
35
- @include color($theme);
36
- }
37
- @if inspection.theme-has($theme, density) {
38
- @include density($theme);
54
+ @if inspection.get-theme-version($theme) == 1 {
55
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
39
56
  }
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
  }
45
71
 
72
+ @mixin _theme-from-tokens($tokens) {
73
+ @if ($tokens != ()) {
74
+ @include token-utils.create-token-values(
75
+ tokens-mat-menu.$prefix, map.get($tokens, tokens-mat-menu.$prefix));
76
+ }
77
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material",
3
- "version": "17.0.1",
3
+ "version": "17.0.3",
4
4
  "description": "Angular Material",
5
5
  "repository": {
6
6
  "type": "git",
@@ -478,7 +478,7 @@
478
478
  },
479
479
  "peerDependencies": {
480
480
  "@angular/animations": "^17.0.0 || ^18.0.0",
481
- "@angular/cdk": "17.0.1",
481
+ "@angular/cdk": "17.0.3",
482
482
  "@angular/core": "^17.0.0 || ^18.0.0",
483
483
  "@angular/common": "^17.0.0 || ^18.0.0",
484
484
  "@angular/forms": "^17.0.0 || ^18.0.0",
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use 'sass:meta';
2
3
  @use '../core/tokens/m2/mat/paginator' as tokens-mat-paginator;
3
4
  @use '../core/style/sass-utils';
@@ -7,55 +8,87 @@
7
8
  @use '../core/tokens/token-utils';
8
9
  @use '../form-field/form-field-density';
9
10
 
10
- @mixin base($theme) {}
11
+ @mixin base($theme) {
12
+ @if inspection.get-theme-version($theme) == 1 {
13
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
14
+ }
15
+ @else {}
16
+ }
11
17
 
12
18
  @mixin color($theme) {
13
- @include sass-utils.current-selector-or-root() {
14
- @include token-utils.create-token-values(tokens-mat-paginator.$prefix,
15
- tokens-mat-paginator.get-color-tokens($theme));
19
+ @if inspection.get-theme-version($theme) == 1 {
20
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
21
+ }
22
+ @else {
23
+ @include sass-utils.current-selector-or-root() {
24
+ @include token-utils.create-token-values(tokens-mat-paginator.$prefix,
25
+ tokens-mat-paginator.get-color-tokens($theme));
26
+ }
16
27
  }
17
28
  }
18
29
 
19
30
  @mixin typography($theme) {
20
- @include sass-utils.current-selector-or-root() {
21
- @include token-utils.create-token-values(tokens-mat-paginator.$prefix,
22
- tokens-mat-paginator.get-typography-tokens($theme));
31
+ @if inspection.get-theme-version($theme) == 1 {
32
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
33
+ }
34
+ @else {
35
+ @include sass-utils.current-selector-or-root() {
36
+ @include token-utils.create-token-values(tokens-mat-paginator.$prefix,
37
+ tokens-mat-paginator.get-typography-tokens($theme));
38
+ }
23
39
  }
24
40
  }
25
41
 
26
42
  @mixin density($theme) {
27
- $density-scale: inspection.get-theme-density($theme);
28
-
29
- @include sass-utils.current-selector-or-root() {
30
- @include token-utils.create-token-values(tokens-mat-paginator.$prefix,
31
- tokens-mat-paginator.get-density-tokens($theme));
43
+ @if inspection.get-theme-version($theme) == 1 {
44
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
32
45
  }
46
+ @else {
47
+ $density-scale: inspection.get-theme-density($theme);
33
48
 
34
- // TODO: this should be done through tokens once the form field has been switched over.
35
- .mat-mdc-paginator {
36
- // We need the form field to be narrower in order to fit into the paginator,
37
- // so we set its density to be -4 or denser.
38
- @if ((meta.type-of($density-scale) == 'number' and $density-scale >= -4) or
39
- $density-scale == maximum) {
40
- @include form-field-density.private-form-field-density(-4);
49
+ @include sass-utils.current-selector-or-root() {
50
+ @include token-utils.create-token-values(tokens-mat-paginator.$prefix,
51
+ tokens-mat-paginator.get-density-tokens($theme));
41
52
  }
42
- @else {
43
- @include form-field-density.private-form-field-density($density-scale);
53
+
54
+ // TODO: this should be done through tokens once the form field has been switched over.
55
+ .mat-mdc-paginator {
56
+ // We need the form field to be narrower in order to fit into the paginator,
57
+ // so we set its density to be -4 or denser.
58
+ @if ((meta.type-of($density-scale) == 'number' and $density-scale >= -4) or
59
+ $density-scale == maximum) {
60
+ @include form-field-density.private-form-field-density(-4);
61
+ }
62
+ @else {
63
+ @include form-field-density.private-form-field-density($density-scale);
64
+ }
44
65
  }
45
66
  }
46
67
  }
47
68
 
48
69
  @mixin theme($theme) {
49
70
  @include theming.private-check-duplicate-theme-styles($theme, 'mat-paginator') {
50
- @include base($theme);
51
- @if inspection.theme-has($theme, color) {
52
- @include color($theme);
53
- }
54
- @if inspection.theme-has($theme, density) {
55
- @include density($theme);
71
+ @if inspection.get-theme-version($theme) == 1 {
72
+ @include _theme-from-tokens(inspection.get-theme-tokens($theme));
56
73
  }
57
- @if inspection.theme-has($theme, typography) {
58
- @include typography($theme);
74
+ @else {
75
+ @include base($theme);
76
+ @if inspection.theme-has($theme, color) {
77
+ @include color($theme);
78
+ }
79
+ @if inspection.theme-has($theme, density) {
80
+ @include density($theme);
81
+ }
82
+ @if inspection.theme-has($theme, typography) {
83
+ @include typography($theme);
84
+ }
59
85
  }
60
86
  }
61
87
  }
88
+
89
+ @mixin _theme-from-tokens($tokens) {
90
+ @if ($tokens != ()) {
91
+ @include token-utils.create-token-values(
92
+ tokens-mat-paginator.$prefix, map.get($tokens, tokens-mat-paginator.$prefix));
93
+ }
94
+ }