@angular/material 18.1.0-next.3 → 18.1.0-rc.0

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 (312) hide show
  1. package/badge/index.d.ts +5 -2
  2. package/button/_button-base.scss +3 -1
  3. package/button/_fab-theme.scss +16 -16
  4. package/button/_icon-button-theme.scss +14 -20
  5. package/button/index.d.ts +9 -0
  6. package/button-toggle/index.d.ts +2 -2
  7. package/card/_card-theme.scss +25 -52
  8. package/checkbox/index.d.ts +4 -2
  9. package/chips/_chips-theme.scss +22 -24
  10. package/chips/index.d.ts +1 -2
  11. package/core/m2/_typography.scss +5 -2
  12. package/core/mdc-helpers/_mdc-helpers.scss +2 -2
  13. package/core/style/_elevation.scss +5 -0
  14. package/core/style/_vendor-prefixes.scss +5 -0
  15. package/core/tokens/_density.scss +1 -1
  16. package/core/tokens/_token-utils.scss +2 -2
  17. package/core/tokens/m2/_index.scss +2 -2
  18. package/core/tokens/m2/mat/_app.scss +1 -2
  19. package/core/tokens/m2/mat/_autocomplete.scss +2 -2
  20. package/core/tokens/m2/mat/_datepicker.scss +3 -3
  21. package/core/tokens/m2/mat/_dialog.scss +2 -2
  22. package/core/tokens/m2/mat/_fab-small.scss +3 -9
  23. package/core/tokens/m2/mat/_fab.scss +3 -9
  24. package/core/tokens/m2/mat/_filled-button.scss +3 -9
  25. package/core/tokens/m2/mat/_form-field.scss +9 -6
  26. package/core/tokens/m2/mat/_icon-button.scss +3 -9
  27. package/core/tokens/m2/mat/_outlined-button.scss +3 -9
  28. package/core/tokens/m2/mat/_paginator.scss +10 -6
  29. package/core/tokens/m2/mat/_protected-button.scss +3 -9
  30. package/core/tokens/m2/mat/_select.scss +2 -2
  31. package/core/tokens/m2/mat/_sidenav.scss +2 -2
  32. package/core/tokens/m2/mat/_text-button.scss +3 -9
  33. package/core/tokens/m2/mdc/_chip.scss +2 -14
  34. package/core/tokens/m2/mdc/_elevated-card.scss +3 -7
  35. package/core/tokens/m2/mdc/_extended-fab.scss +12 -8
  36. package/core/tokens/m2/mdc/_fab-small.scss +15 -13
  37. package/core/tokens/m2/mdc/_fab.scss +15 -13
  38. package/core/tokens/m2/mdc/_outlined-card.scss +2 -6
  39. package/core/tokens/m2/mdc/{_tab.scss → _secondary-navigation-tab.scss} +1 -1
  40. package/core/tokens/m3/_index.scss +2 -2
  41. package/core/tokens/m3/mat/_app.scss +2 -2
  42. package/core/tokens/m3/mat/_autocomplete.scss +2 -2
  43. package/core/tokens/m3/mat/_datepicker.scss +3 -3
  44. package/core/tokens/m3/mat/_select.scss +2 -2
  45. package/core/tokens/m3/mdc/_chip.scss +1 -4
  46. package/core/tokens/m3/mdc/_elevated-card.scss +9 -2
  47. package/core/tokens/m3/mdc/_extended-fab.scss +19 -2
  48. package/core/tokens/m3/mdc/_fab-small.scss +19 -2
  49. package/core/tokens/m3/mdc/_fab.scss +19 -2
  50. package/core/tokens/m3/mdc/_outlined-card.scss +9 -2
  51. package/core/tokens/m3/mdc/{_tab.scss → _secondary-navigation-tab.scss} +1 -1
  52. package/datepicker/index.d.ts +8 -4
  53. package/esm2022/autocomplete/autocomplete-origin.mjs +3 -3
  54. package/esm2022/autocomplete/autocomplete-trigger.mjs +4 -5
  55. package/esm2022/autocomplete/autocomplete.mjs +3 -3
  56. package/esm2022/autocomplete/module.mjs +4 -4
  57. package/esm2022/badge/badge-module.mjs +4 -4
  58. package/esm2022/badge/badge.mjs +12 -9
  59. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +3 -3
  60. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +4 -4
  61. package/esm2022/bottom-sheet/bottom-sheet.mjs +3 -3
  62. package/esm2022/button/button-base.mjs +10 -9
  63. package/esm2022/button/button.mjs +8 -8
  64. package/esm2022/button/fab.mjs +17 -17
  65. package/esm2022/button/icon-button.mjs +8 -8
  66. package/esm2022/button/module.mjs +4 -4
  67. package/esm2022/button-toggle/button-toggle-module.mjs +4 -4
  68. package/esm2022/button-toggle/button-toggle.mjs +36 -27
  69. package/esm2022/card/card.mjs +43 -43
  70. package/esm2022/card/module.mjs +4 -4
  71. package/esm2022/checkbox/checkbox-config.mjs +1 -1
  72. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  73. package/esm2022/checkbox/checkbox.mjs +3 -3
  74. package/esm2022/checkbox/module.mjs +8 -8
  75. package/esm2022/chips/chip-action.mjs +3 -3
  76. package/esm2022/chips/chip-edit-input.mjs +3 -3
  77. package/esm2022/chips/chip-grid.mjs +6 -13
  78. package/esm2022/chips/chip-icons.mjs +9 -9
  79. package/esm2022/chips/chip-input.mjs +3 -3
  80. package/esm2022/chips/chip-listbox.mjs +5 -5
  81. package/esm2022/chips/chip-option.mjs +6 -6
  82. package/esm2022/chips/chip-row.mjs +6 -6
  83. package/esm2022/chips/chip-set.mjs +5 -5
  84. package/esm2022/chips/chip.mjs +5 -5
  85. package/esm2022/chips/module.mjs +4 -4
  86. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  87. package/esm2022/core/datetime/index.mjs +8 -8
  88. package/esm2022/core/datetime/native-date-adapter.mjs +3 -3
  89. package/esm2022/core/error/error-options.mjs +6 -6
  90. package/esm2022/core/internal-form-field/internal-form-field.mjs +3 -3
  91. package/esm2022/core/line/line.mjs +7 -7
  92. package/esm2022/core/option/index.mjs +4 -4
  93. package/esm2022/core/option/optgroup.mjs +3 -3
  94. package/esm2022/core/option/option.mjs +3 -3
  95. package/esm2022/core/private/ripple-loader.mjs +3 -3
  96. package/esm2022/core/ripple/index.mjs +4 -4
  97. package/esm2022/core/ripple/ripple-renderer.mjs +21 -3
  98. package/esm2022/core/ripple/ripple.mjs +3 -3
  99. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  100. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  101. package/esm2022/core/version.mjs +1 -1
  102. package/esm2022/datepicker/calendar-body.mjs +3 -3
  103. package/esm2022/datepicker/calendar.mjs +12 -9
  104. package/esm2022/datepicker/date-range-input-parts.mjs +9 -9
  105. package/esm2022/datepicker/date-range-input.mjs +3 -3
  106. package/esm2022/datepicker/date-range-picker.mjs +3 -3
  107. package/esm2022/datepicker/date-range-selection-strategy.mjs +3 -3
  108. package/esm2022/datepicker/date-selection-model.mjs +9 -9
  109. package/esm2022/datepicker/datepicker-actions.mjs +9 -9
  110. package/esm2022/datepicker/datepicker-base.mjs +12 -10
  111. package/esm2022/datepicker/datepicker-input-base.mjs +3 -3
  112. package/esm2022/datepicker/datepicker-input.mjs +3 -3
  113. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  114. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  115. package/esm2022/datepicker/datepicker-toggle.mjs +6 -6
  116. package/esm2022/datepicker/datepicker.mjs +3 -3
  117. package/esm2022/datepicker/month-view.mjs +3 -3
  118. package/esm2022/datepicker/multi-year-view.mjs +3 -3
  119. package/esm2022/datepicker/year-view.mjs +3 -3
  120. package/esm2022/dialog/dialog-container.mjs +5 -5
  121. package/esm2022/dialog/dialog-content-directives.mjs +15 -15
  122. package/esm2022/dialog/dialog.mjs +3 -3
  123. package/esm2022/dialog/module.mjs +4 -4
  124. package/esm2022/divider/divider-module.mjs +4 -4
  125. package/esm2022/divider/divider.mjs +3 -3
  126. package/esm2022/expansion/accordion.mjs +3 -3
  127. package/esm2022/expansion/expansion-module.mjs +4 -4
  128. package/esm2022/expansion/expansion-panel-content.mjs +3 -3
  129. package/esm2022/expansion/expansion-panel-header.mjs +9 -9
  130. package/esm2022/expansion/expansion-panel.mjs +6 -6
  131. package/esm2022/form-field/directives/error.mjs +3 -3
  132. package/esm2022/form-field/directives/floating-label.mjs +3 -3
  133. package/esm2022/form-field/directives/hint.mjs +3 -3
  134. package/esm2022/form-field/directives/label.mjs +3 -3
  135. package/esm2022/form-field/directives/line-ripple.mjs +3 -3
  136. package/esm2022/form-field/directives/notched-outline.mjs +3 -3
  137. package/esm2022/form-field/directives/prefix.mjs +3 -3
  138. package/esm2022/form-field/directives/suffix.mjs +3 -3
  139. package/esm2022/form-field/form-field-control.mjs +3 -3
  140. package/esm2022/form-field/form-field.mjs +12 -21
  141. package/esm2022/form-field/module.mjs +4 -4
  142. package/esm2022/grid-list/grid-list-module.mjs +4 -4
  143. package/esm2022/grid-list/grid-list.mjs +3 -3
  144. package/esm2022/grid-list/grid-tile.mjs +15 -15
  145. package/esm2022/icon/icon-module.mjs +4 -4
  146. package/esm2022/icon/icon-registry.mjs +3 -3
  147. package/esm2022/icon/icon.mjs +3 -3
  148. package/esm2022/icon/testing/fake-icon-registry.mjs +7 -7
  149. package/esm2022/input/input.mjs +3 -3
  150. package/esm2022/input/module.mjs +4 -4
  151. package/esm2022/list/action-list.mjs +3 -3
  152. package/esm2022/list/list-base.mjs +6 -6
  153. package/esm2022/list/list-item-sections.mjs +18 -18
  154. package/esm2022/list/list-module.mjs +4 -4
  155. package/esm2022/list/list-option.mjs +11 -5
  156. package/esm2022/list/list.mjs +6 -6
  157. package/esm2022/list/nav-list.mjs +3 -3
  158. package/esm2022/list/selection-list.mjs +8 -6
  159. package/esm2022/list/subheader.mjs +3 -3
  160. package/esm2022/menu/menu-content.mjs +3 -3
  161. package/esm2022/menu/menu-item.mjs +3 -3
  162. package/esm2022/menu/menu-trigger.mjs +3 -3
  163. package/esm2022/menu/menu.mjs +3 -3
  164. package/esm2022/menu/module.mjs +4 -4
  165. package/esm2022/paginator/module.mjs +4 -4
  166. package/esm2022/paginator/paginator-intl.mjs +3 -3
  167. package/esm2022/paginator/paginator.mjs +3 -3
  168. package/esm2022/progress-bar/module.mjs +4 -4
  169. package/esm2022/progress-bar/progress-bar.mjs +12 -6
  170. package/esm2022/progress-spinner/module.mjs +4 -4
  171. package/esm2022/progress-spinner/progress-spinner.mjs +11 -5
  172. package/esm2022/radio/module.mjs +4 -4
  173. package/esm2022/radio/radio.mjs +16 -11
  174. package/esm2022/select/module.mjs +4 -4
  175. package/esm2022/select/select.mjs +6 -6
  176. package/esm2022/sidenav/drawer.mjs +13 -10
  177. package/esm2022/sidenav/sidenav-module.mjs +4 -4
  178. package/esm2022/sidenav/sidenav.mjs +9 -9
  179. package/esm2022/slide-toggle/module.mjs +8 -8
  180. package/esm2022/slide-toggle/slide-toggle-config.mjs +1 -1
  181. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  182. package/esm2022/slide-toggle/slide-toggle.mjs +6 -6
  183. package/esm2022/slider/module.mjs +4 -4
  184. package/esm2022/slider/slider-input.mjs +6 -6
  185. package/esm2022/slider/slider-thumb.mjs +3 -3
  186. package/esm2022/slider/slider.mjs +4 -4
  187. package/esm2022/snack-bar/module.mjs +4 -4
  188. package/esm2022/snack-bar/simple-snack-bar.mjs +3 -3
  189. package/esm2022/snack-bar/snack-bar-container.mjs +3 -3
  190. package/esm2022/snack-bar/snack-bar-content.mjs +9 -9
  191. package/esm2022/snack-bar/snack-bar.mjs +3 -3
  192. package/esm2022/sort/sort-header-intl.mjs +3 -3
  193. package/esm2022/sort/sort-header.mjs +3 -3
  194. package/esm2022/sort/sort-module.mjs +4 -4
  195. package/esm2022/sort/sort.mjs +3 -3
  196. package/esm2022/stepper/step-content.mjs +3 -3
  197. package/esm2022/stepper/step-header.mjs +3 -3
  198. package/esm2022/stepper/step-label.mjs +3 -3
  199. package/esm2022/stepper/stepper-button.mjs +6 -6
  200. package/esm2022/stepper/stepper-icon.mjs +3 -3
  201. package/esm2022/stepper/stepper-intl.mjs +3 -3
  202. package/esm2022/stepper/stepper-module.mjs +4 -4
  203. package/esm2022/stepper/stepper.mjs +6 -6
  204. package/esm2022/table/cell.mjs +21 -21
  205. package/esm2022/table/module.mjs +4 -4
  206. package/esm2022/table/row.mjs +21 -21
  207. package/esm2022/table/table.mjs +6 -6
  208. package/esm2022/table/text-column.mjs +3 -3
  209. package/esm2022/tabs/ink-bar.mjs +3 -3
  210. package/esm2022/tabs/module.mjs +4 -4
  211. package/esm2022/tabs/paginated-tab-header.mjs +3 -3
  212. package/esm2022/tabs/tab-body.mjs +11 -18
  213. package/esm2022/tabs/tab-content.mjs +3 -3
  214. package/esm2022/tabs/tab-group.mjs +12 -7
  215. package/esm2022/tabs/tab-header.mjs +5 -5
  216. package/esm2022/tabs/tab-label-wrapper.mjs +3 -3
  217. package/esm2022/tabs/tab-label.mjs +3 -3
  218. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +19 -13
  219. package/esm2022/tabs/tab.mjs +3 -3
  220. package/esm2022/toolbar/toolbar-module.mjs +4 -4
  221. package/esm2022/toolbar/toolbar.mjs +6 -6
  222. package/esm2022/tooltip/module.mjs +4 -4
  223. package/esm2022/tooltip/tooltip.mjs +8 -8
  224. package/esm2022/tree/node.mjs +9 -9
  225. package/esm2022/tree/outlet.mjs +3 -3
  226. package/esm2022/tree/padding.mjs +3 -3
  227. package/esm2022/tree/toggle.mjs +3 -3
  228. package/esm2022/tree/tree-module.mjs +4 -4
  229. package/esm2022/tree/tree.mjs +3 -3
  230. package/fesm2022/autocomplete.mjs +13 -14
  231. package/fesm2022/autocomplete.mjs.map +1 -1
  232. package/fesm2022/badge.mjs +15 -12
  233. package/fesm2022/badge.mjs.map +1 -1
  234. package/fesm2022/bottom-sheet.mjs +10 -10
  235. package/fesm2022/button-toggle.mjs +39 -30
  236. package/fesm2022/button-toggle.mjs.map +1 -1
  237. package/fesm2022/button.mjs +45 -44
  238. package/fesm2022/button.mjs.map +1 -1
  239. package/fesm2022/card.mjs +47 -47
  240. package/fesm2022/card.mjs.map +1 -1
  241. package/fesm2022/checkbox.mjs +14 -14
  242. package/fesm2022/checkbox.mjs.map +1 -1
  243. package/fesm2022/chips.mjs +51 -58
  244. package/fesm2022/chips.mjs.map +1 -1
  245. package/fesm2022/core.mjs +79 -61
  246. package/fesm2022/core.mjs.map +1 -1
  247. package/fesm2022/datepicker.mjs +92 -87
  248. package/fesm2022/datepicker.mjs.map +1 -1
  249. package/fesm2022/dialog.mjs +26 -26
  250. package/fesm2022/dialog.mjs.map +1 -1
  251. package/fesm2022/divider.mjs +7 -7
  252. package/fesm2022/expansion.mjs +25 -25
  253. package/fesm2022/form-field.mjs +42 -51
  254. package/fesm2022/form-field.mjs.map +1 -1
  255. package/fesm2022/grid-list.mjs +22 -22
  256. package/fesm2022/icon/testing.mjs +7 -7
  257. package/fesm2022/icon.mjs +10 -10
  258. package/fesm2022/input.mjs +7 -7
  259. package/fesm2022/list.mjs +59 -51
  260. package/fesm2022/list.mjs.map +1 -1
  261. package/fesm2022/menu.mjs +16 -16
  262. package/fesm2022/paginator.mjs +10 -10
  263. package/fesm2022/progress-bar.mjs +15 -9
  264. package/fesm2022/progress-bar.mjs.map +1 -1
  265. package/fesm2022/progress-spinner.mjs +14 -8
  266. package/fesm2022/progress-spinner.mjs.map +1 -1
  267. package/fesm2022/radio.mjs +19 -14
  268. package/fesm2022/radio.mjs.map +1 -1
  269. package/fesm2022/select.mjs +10 -10
  270. package/fesm2022/sidenav.mjs +26 -23
  271. package/fesm2022/sidenav.mjs.map +1 -1
  272. package/fesm2022/slide-toggle.mjs +16 -16
  273. package/fesm2022/slide-toggle.mjs.map +1 -1
  274. package/fesm2022/slider.mjs +16 -16
  275. package/fesm2022/slider.mjs.map +1 -1
  276. package/fesm2022/snack-bar.mjs +22 -22
  277. package/fesm2022/sort.mjs +13 -13
  278. package/fesm2022/stepper.mjs +31 -31
  279. package/fesm2022/table.mjs +55 -55
  280. package/fesm2022/tabs.mjs +62 -51
  281. package/fesm2022/tabs.mjs.map +1 -1
  282. package/fesm2022/toolbar.mjs +10 -10
  283. package/fesm2022/tooltip.mjs +11 -11
  284. package/fesm2022/tooltip.mjs.map +1 -1
  285. package/fesm2022/tree.mjs +25 -25
  286. package/form-field/_form-field-subscript.scss +2 -2
  287. package/form-field/_mdc-text-field-structure-overrides.scss +2 -3
  288. package/form-field/index.d.ts +9 -7
  289. package/list/_list-option-trailing-avatar-compat.scss +26 -25
  290. package/list/index.d.ts +8 -1
  291. package/package.json +2 -2
  292. package/prebuilt-themes/azure-blue.css +1 -1
  293. package/prebuilt-themes/cyan-orange.css +1 -1
  294. package/prebuilt-themes/deeppurple-amber.css +1 -1
  295. package/prebuilt-themes/indigo-pink.css +1 -1
  296. package/prebuilt-themes/magenta-violet.css +1 -1
  297. package/prebuilt-themes/pink-bluegrey.css +1 -1
  298. package/prebuilt-themes/purple-green.css +1 -1
  299. package/prebuilt-themes/rose-red.css +1 -1
  300. package/progress-bar/_progress-bar-theme.scss +10 -7
  301. package/progress-bar/index.d.ts +14 -2
  302. package/progress-spinner/index.d.ts +14 -2
  303. package/radio/index.d.ts +14 -1
  304. package/schematics/ng-add/index.js +1 -1
  305. package/schematics/ng-add/index.mjs +1 -1
  306. package/sidenav/index.d.ts +1 -0
  307. package/slide-toggle/index.d.ts +7 -1
  308. package/slider/index.d.ts +7 -1
  309. package/tabs/_tabs-common.scss +94 -36
  310. package/tabs/_tabs-theme.scss +33 -25
  311. package/tabs/index.d.ts +20 -3
  312. package/tooltip/_tooltip-theme.scss +18 -16
@@ -1,29 +1,86 @@
1
- @use '@material/ripple' as mdc-ripple;
2
- @use '@material/tab' as mdc-tab;
3
- @use '@material/tab-indicator' as mdc-tab-indicator;
4
- @use '@material/tab-indicator/tab-indicator-theme' as mdc-tab-indicator-theme;
5
- @use '@material/tab/tab-theme' as mdc-tab-theme;
6
- @use '@material/theme/custom-properties' as mdc-custom-properties;
7
- @use '../core/mdc-helpers/mdc-helpers';
8
1
  @use '../core/style/vendor-prefixes';
9
2
  @use '../core/tokens/m2/mdc/tab-indicator' as tokens-mdc-tab-indicator;
10
- @use '../core/tokens/m2/mdc/tab' as tokens-mdc-tab;
3
+ @use '../core/tokens/m2/mdc/secondary-navigation-tab' as tokens-mdc-secondary-navigation-tab;
11
4
  @use '../core/tokens/m2/mat/tab-header' as tokens-mat-tab-header;
12
5
  @use '../core/tokens/m2/mat/tab-header-with-background' as tokens-mat-tab-header-with-background;
13
6
  @use '../core/tokens/token-utils';
14
- @use 'sass:map';
15
7
 
16
8
 
17
9
  $mat-tab-animation-duration: 500ms !default;
18
10
 
19
11
  // Combines the various structural styles we need for the tab group and tab nav bar.
20
12
  @mixin structural-styles {
21
- @include mdc-custom-properties.configure(
22
- $emit-fallback-values: false,
23
- $emit-fallback-vars: false
24
- ) {
25
- @include mdc-tab.static-styles($query: mdc-helpers.$mdc-base-styles-query);
26
- @include mdc-tab-indicator.static-styles($query: mdc-helpers.$mdc-base-styles-query);
13
+ .mdc-tab {
14
+ min-width: 90px;
15
+ padding: 0 24px;
16
+ display: flex;
17
+ flex: 1 0 auto;
18
+ justify-content: center;
19
+ box-sizing: border-box;
20
+ border: none;
21
+ outline: none;
22
+ text-align: center;
23
+ white-space: nowrap;
24
+ cursor: pointer;
25
+ z-index: 1;
26
+ }
27
+
28
+ .mdc-tab__content {
29
+ display: flex;
30
+ align-items: center;
31
+ justify-content: center;
32
+ height: inherit;
33
+ pointer-events: none;
34
+ }
35
+
36
+ .mdc-tab__text-label {
37
+ transition: 150ms color linear;
38
+ display: inline-block;
39
+ line-height: 1;
40
+ z-index: 2;
41
+ }
42
+
43
+ .mdc-tab--active .mdc-tab__text-label {
44
+ transition-delay: 100ms;
45
+ }
46
+
47
+ ._mat-animation-noopable .mdc-tab__text-label {
48
+ transition: none;
49
+ }
50
+
51
+ .mdc-tab-indicator {
52
+ display: flex;
53
+ position: absolute;
54
+ top: 0;
55
+ left: 0;
56
+ justify-content: center;
57
+ width: 100%;
58
+ height: 100%;
59
+ pointer-events: none;
60
+ z-index: 1;
61
+ }
62
+
63
+ .mdc-tab-indicator__content {
64
+ transition: var(--mat-tab-animation-duration, 250ms) transform cubic-bezier(0.4, 0, 0.2, 1);
65
+ transform-origin: left;
66
+ opacity: 0;
67
+ }
68
+
69
+ .mdc-tab-indicator__content--underline {
70
+ align-self: flex-end;
71
+ box-sizing: border-box;
72
+ width: 100%;
73
+ border-top-style: solid;
74
+ }
75
+
76
+ .mdc-tab-indicator--active .mdc-tab-indicator__content {
77
+ opacity: 1;
78
+ }
79
+
80
+ ._mat-animation-noopable, .mdc-tab-indicator--no-transition {
81
+ .mdc-tab-indicator__content {
82
+ transition: none;
83
+ }
27
84
  }
28
85
 
29
86
  .mat-mdc-tab-ripple {
@@ -37,14 +94,6 @@ $mat-tab-animation-duration: 500ms !default;
37
94
  }
38
95
 
39
96
  @mixin tab {
40
- @include mdc-custom-properties.configure(
41
- $emit-fallback-values: false,
42
- $emit-fallback-vars: false
43
- ) {
44
- @include mdc-tab-indicator-theme.theme-styles(tokens-mdc-tab-indicator.get-token-slots());
45
- @include mdc-tab-theme.secondary-navigation-tab-theme-styles(tokens-mdc-tab.get-token-slots());
46
- }
47
-
48
97
  -webkit-tap-highlight-color: transparent;
49
98
  -webkit-font-smoothing: antialiased;
50
99
  -moz-osx-font-smoothing: grayscale;
@@ -53,6 +102,13 @@ $mat-tab-animation-duration: 500ms !default;
53
102
  // Tabs might be `button` elements so we have to reset the user agent styling.
54
103
  background: none;
55
104
 
105
+ @include token-utils.use-tokens(
106
+ tokens-mdc-secondary-navigation-tab.$prefix,
107
+ tokens-mdc-secondary-navigation-tab.get-token-slots()
108
+ ) {
109
+ @include token-utils.create-token-slot(height, container-height);
110
+ }
111
+
56
112
  &.mdc-tab {
57
113
  // MDC's tabs stretch to fit the header by default, whereas stretching on our current ones
58
114
  // is an opt-in behavior. Also technically we don't need to combine the two classes, but
@@ -60,6 +116,17 @@ $mat-tab-animation-duration: 500ms !default;
60
116
  flex-grow: 0;
61
117
  }
62
118
 
119
+ .mdc-tab-indicator__content--underline {
120
+ @include token-utils.use-tokens(
121
+ tokens-mdc-tab-indicator.$prefix,
122
+ tokens-mdc-tab-indicator.get-token-slots()
123
+ ) {
124
+ @include token-utils.create-token-slot(border-color, active-indicator-color);
125
+ @include token-utils.create-token-slot(border-top-width, active-indicator-height);
126
+ @include token-utils.create-token-slot(border-radius, active-indicator-shape);
127
+ }
128
+ }
129
+
63
130
  @include token-utils.use-tokens(
64
131
  tokens-mat-tab-header.$prefix,
65
132
  tokens-mat-tab-header.get-token-slots()
@@ -185,18 +252,18 @@ $mat-tab-animation-duration: 500ms !default;
185
252
 
186
253
  // We need to handle the hover and focus indication ourselves, because we don't use MDC's ripple.
187
254
  &:hover .mdc-tab__ripple::before {
188
- opacity: map.get(mdc-ripple.$dark-ink-opacities, hover);
255
+ opacity: 0.04;
189
256
  }
190
257
 
191
258
  &.cdk-program-focused,
192
259
  &.cdk-keyboard-focused {
193
260
  .mdc-tab__ripple::before {
194
- opacity: map.get(mdc-ripple.$dark-ink-opacities, focus);
261
+ opacity: 0.12;
195
262
  }
196
263
  }
197
264
 
198
265
  .mat-ripple-element {
199
- opacity: map.get(mdc-ripple.$dark-ink-opacities, press);
266
+ opacity: 0.12;
200
267
 
201
268
  @include token-utils.use-tokens(
202
269
  tokens-mat-tab-header.$prefix,
@@ -243,7 +310,7 @@ $mat-tab-animation-duration: 500ms !default;
243
310
  }
244
311
 
245
312
  .mat-ripple-element {
246
- opacity: map.get(mdc-ripple.$dark-ink-opacities, press);
313
+ opacity: 0.12;
247
314
 
248
315
  @include token-utils.use-tokens(
249
316
  tokens-mat-tab-header.$prefix,
@@ -309,15 +376,6 @@ $mat-tab-animation-duration: 500ms !default;
309
376
  transition: none;
310
377
  }
311
378
  }
312
-
313
- // The `span` is in the selector in order to increase the specificity, ensuring
314
- // that it's always higher than the selector that declares the transition.
315
- ._mat-animation-noopable {
316
- span.mdc-tab-indicator__content,
317
- span.mdc-tab__text-label {
318
- transition: none;
319
- }
320
- }
321
379
  }
322
380
 
323
381
  // Structural styles for the element that wraps the paginated header items.
@@ -1,7 +1,5 @@
1
- @use '@material/tab-indicator/tab-indicator-theme' as mdc-tab-indicator-theme;
2
- @use '@material/tab/tab-theme' as mdc-tab-theme;
3
1
  @use '../core/style/sass-utils';
4
- @use '../core/tokens/m2/mdc/tab' as tokens-mdc-tab;
2
+ @use '../core/tokens/m2/mdc/secondary-navigation-tab' as tokens-mdc-secondary-navigation-tab;
5
3
  @use '../core/tokens/m2/mdc/tab-indicator' as tokens-mdc-tab-indicator;
6
4
  @use '../core/tokens/m2/mat/tab-header' as tokens-mat-tab-header;
7
5
  @use '../core/tokens/m2/mat/tab-header-with-background' as tokens-mat-tab-header-with-background;
@@ -20,14 +18,16 @@
20
18
  }
21
19
  @else {
22
20
  @include sass-utils.current-selector-or-root() {
23
- @include mdc-tab-indicator-theme.theme(tokens-mdc-tab-indicator.get-unthemable-tokens());
24
- @include mdc-tab-theme.secondary-navigation-tab-theme(tokens-mdc-tab.get-unthemable-tokens());
25
21
  @include token-utils.create-token-values(
26
- tokens-mat-tab-header.$prefix, tokens-mat-tab-header.get-unthemable-tokens());
22
+ tokens-mdc-secondary-navigation-tab.$prefix,
23
+ tokens-mdc-secondary-navigation-tab.get-unthemable-tokens());
27
24
  @include token-utils.create-token-values(
28
- tokens-mat-tab-header-with-background.$prefix,
29
- tokens-mat-tab-header-with-background.get-unthemable-tokens()
30
- );
25
+ tokens-mdc-tab-indicator.$prefix, tokens-mdc-tab-indicator.get-unthemable-tokens());
26
+ @include token-utils.create-token-values(
27
+ tokens-mat-tab-header.$prefix, tokens-mat-tab-header.get-unthemable-tokens());
28
+ @include token-utils.create-token-values(
29
+ tokens-mat-tab-header-with-background.$prefix,
30
+ tokens-mat-tab-header-with-background.get-unthemable-tokens());
31
31
  }
32
32
  }
33
33
  }
@@ -74,9 +74,12 @@
74
74
  }
75
75
 
76
76
  @mixin _palette-styles($theme, $palette-name) {
77
- @include mdc-tab-theme.secondary-navigation-tab-theme(
78
- tokens-mdc-tab.get-color-tokens($theme, $palette-name));
79
- @include mdc-tab-indicator-theme.theme(
77
+ @include token-utils.create-token-values(
78
+ tokens-mdc-secondary-navigation-tab.$prefix,
79
+ tokens-mdc-secondary-navigation-tab.get-color-tokens($theme, $palette-name)
80
+ );
81
+ @include token-utils.create-token-values(
82
+ tokens-mdc-tab-indicator.$prefix,
80
83
  tokens-mdc-tab-indicator.get-color-tokens($theme, $palette-name));
81
84
  @include token-utils.create-token-values(tokens-mat-tab-header.$prefix,
82
85
  tokens-mat-tab-header.get-color-tokens($theme, $palette-name));
@@ -90,10 +93,11 @@
90
93
  }
91
94
  @else {
92
95
  .mat-mdc-tab-header {
93
- @include mdc-tab-theme.secondary-navigation-tab-theme(
94
- tokens-mdc-tab.get-typography-tokens($theme));
95
- @include mdc-tab-indicator-theme.theme(
96
- tokens-mdc-tab-indicator.get-typography-tokens($theme));
96
+ @include token-utils.create-token-values(
97
+ tokens-mdc-secondary-navigation-tab.$prefix,
98
+ tokens-mdc-secondary-navigation-tab.get-typography-tokens($theme));
99
+ @include token-utils.create-token-values(
100
+ tokens-mdc-tab-indicator.$prefix, tokens-mdc-tab-indicator.get-typography-tokens($theme));
97
101
  @include token-utils.create-token-values(tokens-mat-tab-header.$prefix,
98
102
  tokens-mat-tab-header.get-typography-tokens($theme));
99
103
  @include token-utils.create-token-values(tokens-mat-tab-header-with-background.$prefix,
@@ -110,10 +114,11 @@
110
114
  }
111
115
  @else {
112
116
  .mat-mdc-tab-header {
113
- @include mdc-tab-theme.secondary-navigation-tab-theme(
114
- tokens-mdc-tab.get-density-tokens($theme));
115
- @include mdc-tab-indicator-theme.theme(
116
- tokens-mdc-tab-indicator.get-density-tokens($theme));
117
+ @include token-utils.create-token-values(
118
+ tokens-mdc-secondary-navigation-tab.$prefix,
119
+ tokens-mdc-secondary-navigation-tab.get-density-tokens($theme));
120
+ @include token-utils.create-token-values(
121
+ tokens-mdc-tab-indicator.$prefix, tokens-mdc-tab-indicator.get-density-tokens($theme));
117
122
  @include token-utils.create-token-values(tokens-mat-tab-header.$prefix,
118
123
  tokens-mat-tab-header.get-density-tokens($theme));
119
124
  @include token-utils.create-token-values(tokens-mat-tab-header-with-background.$prefix,
@@ -125,14 +130,14 @@
125
130
  /// Outputs the CSS variable values for the given tokens.
126
131
  /// @param {Map} $tokens The token values to emit.
127
132
  @mixin overrides($tokens: ()) {
128
- $tab-tokens: tokens-mdc-tab.get-token-slots();
133
+ $tab-tokens: tokens-mdc-secondary-navigation-tab.get-token-slots();
129
134
  $tab-indicator-tokens: tokens-mdc-tab-indicator.get-token-slots();
130
135
  $tab-header-tokens: tokens-mat-tab-header.get-token-slots();
131
136
  $tab-header-with-background-tokens: tokens-mat-tab-header-with-background.get-token-slots();
132
137
 
133
138
  @include token-utils.batch-create-token-values(
134
139
  $tokens,
135
- (prefix: tokens-mdc-tab.$prefix, tokens: $tab-tokens),
140
+ (prefix: tokens-mdc-secondary-navigation-tab.$prefix, tokens: $tab-tokens),
136
141
  (prefix: tokens-mdc-tab-indicator.$prefix, tokens: $tab-indicator-tokens),
137
142
  (prefix: tokens-mat-tab-header.$prefix, tokens: $tab-header-tokens),
138
143
  (
@@ -176,8 +181,11 @@
176
181
  $tokens, tokens-mat-tab-header.$prefix, $options...);
177
182
  // Don't pass $options here, because the mdc-tab doesn't have color variants,
178
183
  // only the mdc-tab-indicator and mat-tab-header do.
179
- $mdc-tab-tokens: token-utils.get-tokens-for($tokens, tokens-mdc-tab.$prefix);
180
- @include mdc-tab-theme.secondary-navigation-tab-theme($mdc-tab-tokens);
181
- @include mdc-tab-indicator-theme.theme($mdc-tab-indicator-tokens);
184
+ $mdc-secondary-navigation-tab-tokens:
185
+ token-utils.get-tokens-for($tokens, tokens-mdc-secondary-navigation-tab.$prefix);
186
+ @include token-utils.create-token-values(tokens-mdc-secondary-navigation-tab.$prefix,
187
+ $mdc-secondary-navigation-tab-tokens);
188
+ @include token-utils.create-token-values(tokens-mdc-tab-indicator.$prefix,
189
+ $mdc-tab-indicator-tokens);
182
190
  @include token-utils.create-token-values(tokens-mat-tab-header.$prefix, $mat-tab-header-tokens);
183
191
  }
package/tabs/index.d.ts CHANGED
@@ -563,7 +563,13 @@ export declare class MatTabGroup implements AfterContentInit, AfterContentChecke
563
563
  private _tabsSubscription;
564
564
  /** Subscription to changes in the tab labels. */
565
565
  private _tabLabelSubscription;
566
- /** Theme color of the tab group. */
566
+ /**
567
+ * Theme color of the tab group. This API is supported in M2 themes only, it
568
+ * has no effect in M3 themes.
569
+ *
570
+ * For information on applying color variants in M3, see
571
+ * https://material.angular.io/guide/theming#using-component-color-variants.
572
+ */
567
573
  color: ThemePalette;
568
574
  /** Whether the ink bar should fit its width to the size of the tab label content. */
569
575
  get fitInkBarToContent(): boolean;
@@ -606,7 +612,12 @@ export declare class MatTabGroup implements AfterContentInit, AfterContentChecke
606
612
  */
607
613
  preserveContent: boolean;
608
614
  /**
609
- * Background color of the tab group.
615
+ * Theme color of the background of the tab group. This API is supported in M2 themes only, it
616
+ * has no effect in M3 themes.
617
+ *
618
+ * For information on applying color variants in M3, see
619
+ * https://material.angular.io/guide/theming#using-component-color-variants.
620
+ *
610
621
  * @deprecated The background color should be customized through Sass theming APIs.
611
622
  * @breaking-change 20.0.0 Remove this input
612
623
  */
@@ -821,7 +832,13 @@ export declare class MatTabNav extends MatPaginatedTabHeader implements AfterCon
821
832
  private _animationDuration;
822
833
  /** Query list of all tab links of the tab navigation. */
823
834
  _items: QueryList<MatTabLink>;
824
- /** Background color of the tab nav. */
835
+ /**
836
+ * Theme color of the background of the tab nav. This API is supported in M2 themes only, it
837
+ * has no effect in M3 themes.
838
+ *
839
+ * For information on applying color variants in M3, see
840
+ * https://material.angular.io/guide/theming#using-component-color-variants.
841
+ */
825
842
  get backgroundColor(): ThemePalette;
826
843
  set backgroundColor(value: ThemePalette);
827
844
  private _backgroundColor;
@@ -1,5 +1,3 @@
1
- @use 'sass:map';
2
- @use '@material/tooltip/plain-tooltip-theme' as mdc-plain-tooltip-theme;
3
1
  @use '../core/style/sass-utils';
4
2
  @use '../core/theming/theming';
5
3
  @use '../core/theming/inspection';
@@ -15,7 +13,10 @@
15
13
  @else {
16
14
  // Add default values for tokens not related to color, typography, or density.
17
15
  @include sass-utils.current-selector-or-root() {
18
- @include mdc-plain-tooltip-theme.theme(tokens-mdc-plain-tooltip.get-unthemable-tokens());
16
+ @include token-utils.create-token-values(
17
+ tokens-mdc-plain-tooltip.$prefix,
18
+ tokens-mdc-plain-tooltip.get-unthemable-tokens()
19
+ );
19
20
  }
20
21
  }
21
22
  }
@@ -25,11 +26,11 @@
25
26
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, color));
26
27
  }
27
28
  @else {
28
- $mdc-tooltip-color-tokens: tokens-mdc-plain-tooltip.get-color-tokens($theme);
29
-
30
- // Add values for MDC tooltip tokens.
31
29
  @include sass-utils.current-selector-or-root() {
32
- @include mdc-plain-tooltip-theme.theme($mdc-tooltip-color-tokens);
30
+ @include token-utils.create-token-values(
31
+ tokens-mdc-plain-tooltip.$prefix,
32
+ tokens-mdc-plain-tooltip.get-color-tokens($theme)
33
+ );
33
34
  }
34
35
  }
35
36
  }
@@ -39,11 +40,11 @@
39
40
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
40
41
  }
41
42
  @else {
42
- $mdc-tooltip-typography-tokens: tokens-mdc-plain-tooltip.get-typography-tokens($theme);
43
-
44
- // Add values for MDC tooltip tokens.
45
43
  @include sass-utils.current-selector-or-root() {
46
- @include mdc-plain-tooltip-theme.theme($mdc-tooltip-typography-tokens);
44
+ @include token-utils.create-token-values(
45
+ tokens-mdc-plain-tooltip.$prefix,
46
+ tokens-mdc-plain-tooltip.get-typography-tokens($theme)
47
+ );
47
48
  }
48
49
  }
49
50
  }
@@ -53,11 +54,11 @@
53
54
  @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
54
55
  }
55
56
  @else {
56
- $mdc-tooltip-density-tokens: tokens-mdc-plain-tooltip.get-density-tokens($theme);
57
-
58
- // Add values for MDC tooltip tokens.
59
57
  @include sass-utils.current-selector-or-root() {
60
- @include mdc-plain-tooltip-theme.theme($mdc-tooltip-density-tokens);
58
+ @include token-utils.create-token-values(
59
+ tokens-mdc-plain-tooltip.$prefix,
60
+ tokens-mdc-plain-tooltip.get-density-tokens($theme)
61
+ );
61
62
  }
62
63
  }
63
64
  }
@@ -93,6 +94,7 @@
93
94
  @include validation.selector-defined(
94
95
  'Calls to Angular Material theme mixins with an M3 theme must be wrapped in a selector');
95
96
  @if $tokens != () {
96
- @include mdc-plain-tooltip-theme.theme(map.get($tokens, tokens-mdc-plain-tooltip.$prefix));
97
+ $tokens: token-utils.get-tokens-for($tokens, tokens-mdc-plain-tooltip.$prefix);
98
+ @include token-utils.create-token-values(tokens-mdc-plain-tooltip.$prefix, $tokens);
97
99
  }
98
100
  }