@angular/material 18.2.0-next.0 → 18.2.0-next.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 (409) hide show
  1. package/button/_button-base.scss +0 -6
  2. package/button/_icon-button-theme.scss +18 -9
  3. package/checkbox/_checkbox-common.scss +38 -4
  4. package/checkbox/index.d.ts +6 -1
  5. package/core/_core.scss +15 -18
  6. package/core/m2/_typography.scss +129 -2
  7. package/core/style/_elevation.scss +116 -27
  8. package/core/theming/_color-api-backwards-compatibility.scss +2 -0
  9. package/core/tokens/_m3-tokens.scss +13 -13
  10. package/core/tokens/_token-utils.scss +98 -25
  11. package/core/tokens/m2/mat/_fab-small.scss +1 -2
  12. package/core/tokens/m2/mat/_fab.scss +1 -2
  13. package/core/tokens/m2/mat/_filled-button.scss +1 -2
  14. package/core/tokens/m2/mat/_form-field.scss +2 -5
  15. package/core/tokens/m2/mat/_optgroup.scss +0 -9
  16. package/core/tokens/m2/mat/_option.scss +0 -9
  17. package/core/tokens/m2/mat/_paginator.scss +1 -2
  18. package/core/tokens/m2/mat/_protected-button.scss +1 -2
  19. package/core/tokens/m2/mdc/_checkbox.scss +1 -2
  20. package/core/tokens/m2/mdc/_circular-progress.scss +2 -2
  21. package/core/tokens/m2/mdc/_filled-button.scss +1 -2
  22. package/core/tokens/m2/mdc/_protected-button.scss +1 -2
  23. package/core/tokens/m2/mdc/_slider.scss +3 -6
  24. package/core/tokens/m2/mdc/_switch.scss +12 -8
  25. package/core/tokens/m3/definitions/_index.scss +94 -0
  26. package/core/tokens/m3/definitions/_md-comp-checkbox.scss +120 -0
  27. package/core/tokens/m3/definitions/_md-comp-circular-progress-indicator.scss +27 -0
  28. package/core/tokens/m3/definitions/_md-comp-data-table.scss +90 -0
  29. package/core/tokens/m3/definitions/_md-comp-dialog.scss +123 -0
  30. package/core/tokens/m3/definitions/_md-comp-elevated-button.scss +87 -0
  31. package/core/tokens/m3/definitions/_md-comp-elevated-card.scss +53 -0
  32. package/core/tokens/m3/definitions/_md-comp-extended-fab-primary.scss +90 -0
  33. package/core/tokens/m3/definitions/_md-comp-extended-fab-secondary.scss +91 -0
  34. package/core/tokens/m3/definitions/_md-comp-extended-fab-tertiary.scss +91 -0
  35. package/core/tokens/m3/definitions/_md-comp-fab-primary-small.scss +59 -0
  36. package/core/tokens/m3/definitions/_md-comp-fab-primary.scss +59 -0
  37. package/core/tokens/m3/definitions/_md-comp-fab-secondary-small.scss +60 -0
  38. package/core/tokens/m3/definitions/_md-comp-fab-secondary.scss +60 -0
  39. package/core/tokens/m3/definitions/_md-comp-fab-tertiary-small.scss +60 -0
  40. package/core/tokens/m3/definitions/_md-comp-fab-tertiary.scss +60 -0
  41. package/core/tokens/m3/definitions/_md-comp-filled-button.scss +85 -0
  42. package/core/tokens/m3/definitions/_md-comp-filled-card.scss +52 -0
  43. package/core/tokens/m3/definitions/_md-comp-filled-icon-button.scss +73 -0
  44. package/core/tokens/m3/definitions/_md-comp-filled-text-field.scss +189 -0
  45. package/core/tokens/m3/definitions/_md-comp-icon-button.scss +64 -0
  46. package/core/tokens/m3/definitions/_md-comp-linear-progress-indicator.scss +29 -0
  47. package/core/tokens/m3/definitions/_md-comp-list.scss +252 -0
  48. package/core/tokens/m3/definitions/_md-comp-outlined-button.scss +80 -0
  49. package/core/tokens/m3/definitions/_md-comp-outlined-card.scss +59 -0
  50. package/core/tokens/m3/definitions/_md-comp-outlined-icon-button.scss +73 -0
  51. package/core/tokens/m3/definitions/_md-comp-outlined-text-field.scss +171 -0
  52. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +51 -0
  53. package/core/tokens/m3/definitions/_md-comp-radio-button.scss +62 -0
  54. package/core/tokens/m3/definitions/_md-comp-secondary-navigation-tab.scss +80 -0
  55. package/core/tokens/m3/definitions/_md-comp-slider.scss +110 -0
  56. package/core/tokens/m3/definitions/_md-comp-snackbar.scss +125 -0
  57. package/core/tokens/m3/definitions/_md-comp-switch.scss +130 -0
  58. package/core/tokens/m3/definitions/_md-comp-text-button.scss +73 -0
  59. package/core/tokens/m3/definitions/_md-ref-palette.scss +100 -0
  60. package/core/tokens/m3/definitions/_md-ref-typeface.scss +14 -0
  61. package/core/tokens/m3/definitions/_md-sys-color.scss +126 -0
  62. package/core/tokens/m3/definitions/_md-sys-elevation.scss +15 -0
  63. package/core/tokens/m3/definitions/_md-sys-motion.scss +46 -0
  64. package/core/tokens/m3/definitions/_md-sys-shape.scss +24 -0
  65. package/core/tokens/m3/definitions/_md-sys-state.scss +13 -0
  66. package/core/tokens/m3/definitions/_md-sys-typescale.scss +308 -0
  67. package/core/tokens/m3/definitions/unused/_md-comp-assist-chip.scss +105 -0
  68. package/core/tokens/m3/definitions/unused/_md-comp-badge.scss +54 -0
  69. package/core/tokens/m3/definitions/unused/_md-comp-banner.scss +71 -0
  70. package/core/tokens/m3/definitions/unused/_md-comp-bottom-app-bar.scss +29 -0
  71. package/core/tokens/m3/definitions/unused/_md-comp-carousel-item.scss +59 -0
  72. package/core/tokens/m3/definitions/unused/_md-comp-date-input-modal.scss +87 -0
  73. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-docked.scss +248 -0
  74. package/core/tokens/m3/definitions/unused/_md-comp-date-picker-modal.scss +313 -0
  75. package/core/tokens/m3/definitions/unused/_md-comp-divider.scss +19 -0
  76. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-branded.scss +82 -0
  77. package/core/tokens/m3/definitions/unused/_md-comp-extended-fab-surface.scss +86 -0
  78. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded-large.scss +54 -0
  79. package/core/tokens/m3/definitions/unused/_md-comp-fab-branded.scss +54 -0
  80. package/core/tokens/m3/definitions/unused/_md-comp-fab-primary-large.scss +59 -0
  81. package/core/tokens/m3/definitions/unused/_md-comp-fab-secondary-large.scss +60 -0
  82. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-large.scss +58 -0
  83. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface-small.scss +58 -0
  84. package/core/tokens/m3/definitions/unused/_md-comp-fab-surface.scss +58 -0
  85. package/core/tokens/m3/definitions/unused/_md-comp-fab-tertiary-large.scss +60 -0
  86. package/core/tokens/m3/definitions/unused/_md-comp-filled-autocomplete.scss +269 -0
  87. package/core/tokens/m3/definitions/unused/_md-comp-filled-menu-button.scss +94 -0
  88. package/core/tokens/m3/definitions/unused/_md-comp-filled-select.scss +274 -0
  89. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-button.scss +95 -0
  90. package/core/tokens/m3/definitions/unused/_md-comp-filled-tonal-icon-button.scss +80 -0
  91. package/core/tokens/m3/definitions/unused/_md-comp-filter-chip.scss +205 -0
  92. package/core/tokens/m3/definitions/unused/_md-comp-full-screen-dialog.scss +109 -0
  93. package/core/tokens/m3/definitions/unused/_md-comp-input-chip.scss +180 -0
  94. package/core/tokens/m3/definitions/unused/_md-comp-menu.scss +31 -0
  95. package/core/tokens/m3/definitions/unused/_md-comp-navigation-bar.scss +110 -0
  96. package/core/tokens/m3/definitions/unused/_md-comp-navigation-drawer.scss +162 -0
  97. package/core/tokens/m3/definitions/unused/_md-comp-navigation-rail.scss +127 -0
  98. package/core/tokens/m3/definitions/unused/_md-comp-outlined-autocomplete.scss +259 -0
  99. package/core/tokens/m3/definitions/unused/_md-comp-outlined-menu-button.scss +90 -0
  100. package/core/tokens/m3/definitions/unused/_md-comp-outlined-segmented-button.scss +108 -0
  101. package/core/tokens/m3/definitions/unused/_md-comp-outlined-select.scss +264 -0
  102. package/core/tokens/m3/definitions/unused/_md-comp-primary-navigation-tab.scss +117 -0
  103. package/core/tokens/m3/definitions/unused/_md-comp-rich-tooltip.scss +121 -0
  104. package/core/tokens/m3/definitions/unused/_md-comp-scrim.scss +19 -0
  105. package/core/tokens/m3/definitions/unused/_md-comp-search-bar.scss +97 -0
  106. package/core/tokens/m3/definitions/unused/_md-comp-search-view.scss +91 -0
  107. package/core/tokens/m3/definitions/unused/_md-comp-sheet-bottom.scss +39 -0
  108. package/core/tokens/m3/definitions/unused/_md-comp-sheet-floating.scss +28 -0
  109. package/core/tokens/m3/definitions/unused/_md-comp-sheet-side.scss +87 -0
  110. package/core/tokens/m3/definitions/unused/_md-comp-standard-menu-button.scss +94 -0
  111. package/core/tokens/m3/definitions/unused/_md-comp-suggestion-chip.scss +121 -0
  112. package/core/tokens/m3/definitions/unused/_md-comp-time-input.scss +222 -0
  113. package/core/tokens/m3/definitions/unused/_md-comp-time-picker.scss +268 -0
  114. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-large.scss +59 -0
  115. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-medium.scss +59 -0
  116. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small-centered.scss +62 -0
  117. package/core/tokens/m3/definitions/unused/_md-comp-top-app-bar-small.scss +60 -0
  118. package/core/tokens/m3/mat/_icon-button.scss +31 -2
  119. package/core/tokens/m3/mdc/_icon-button.scss +21 -2
  120. package/core/tokens/m3/mdc/_slider.scss +9 -2
  121. package/core/tokens/m3/mdc/_switch.scss +13 -2
  122. package/esm2022/autocomplete/animations.mjs +1 -2
  123. package/esm2022/autocomplete/autocomplete-origin.mjs +4 -4
  124. package/esm2022/autocomplete/autocomplete-trigger.mjs +4 -4
  125. package/esm2022/autocomplete/autocomplete.mjs +4 -4
  126. package/esm2022/autocomplete/module.mjs +5 -5
  127. package/esm2022/badge/badge-module.mjs +5 -5
  128. package/esm2022/badge/badge.mjs +7 -7
  129. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +4 -4
  130. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +5 -5
  131. package/esm2022/bottom-sheet/bottom-sheet.mjs +4 -4
  132. package/esm2022/button/button-base.mjs +7 -7
  133. package/esm2022/button/button.mjs +7 -7
  134. package/esm2022/button/fab.mjs +17 -17
  135. package/esm2022/button/icon-button.mjs +7 -7
  136. package/esm2022/button/module.mjs +5 -5
  137. package/esm2022/button-toggle/button-toggle-module.mjs +5 -5
  138. package/esm2022/button-toggle/button-toggle.mjs +7 -7
  139. package/esm2022/card/card.mjs +43 -43
  140. package/esm2022/card/module.mjs +5 -5
  141. package/esm2022/checkbox/checkbox-config.mjs +2 -1
  142. package/esm2022/checkbox/checkbox-required-validator.mjs +4 -4
  143. package/esm2022/checkbox/checkbox.mjs +13 -7
  144. package/esm2022/checkbox/module.mjs +9 -9
  145. package/esm2022/chips/chip-action.mjs +4 -4
  146. package/esm2022/chips/chip-edit-input.mjs +4 -4
  147. package/esm2022/chips/chip-grid.mjs +5 -5
  148. package/esm2022/chips/chip-icons.mjs +10 -10
  149. package/esm2022/chips/chip-input.mjs +4 -4
  150. package/esm2022/chips/chip-listbox.mjs +4 -4
  151. package/esm2022/chips/chip-option.mjs +4 -4
  152. package/esm2022/chips/chip-row.mjs +4 -4
  153. package/esm2022/chips/chip-set.mjs +4 -4
  154. package/esm2022/chips/chip.mjs +4 -4
  155. package/esm2022/chips/module.mjs +5 -5
  156. package/esm2022/core/common-behaviors/common-module.mjs +5 -5
  157. package/esm2022/core/datetime/index.mjs +9 -9
  158. package/esm2022/core/datetime/native-date-adapter.mjs +4 -4
  159. package/esm2022/core/error/error-options.mjs +7 -7
  160. package/esm2022/core/internal-form-field/internal-form-field.mjs +4 -4
  161. package/esm2022/core/line/line.mjs +8 -8
  162. package/esm2022/core/option/index.mjs +5 -5
  163. package/esm2022/core/option/optgroup.mjs +4 -4
  164. package/esm2022/core/option/option.mjs +4 -4
  165. package/esm2022/core/private/ripple-loader.mjs +4 -4
  166. package/esm2022/core/ripple/index.mjs +5 -5
  167. package/esm2022/core/ripple/ripple.mjs +4 -4
  168. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  169. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  170. package/esm2022/core/version.mjs +1 -1
  171. package/esm2022/datepicker/calendar-body.mjs +4 -4
  172. package/esm2022/datepicker/calendar.mjs +7 -7
  173. package/esm2022/datepicker/date-range-input-parts.mjs +10 -10
  174. package/esm2022/datepicker/date-range-input.mjs +4 -4
  175. package/esm2022/datepicker/date-range-picker.mjs +4 -4
  176. package/esm2022/datepicker/date-range-selection-strategy.mjs +4 -4
  177. package/esm2022/datepicker/date-selection-model.mjs +10 -10
  178. package/esm2022/datepicker/datepicker-actions.mjs +10 -10
  179. package/esm2022/datepicker/datepicker-base.mjs +7 -7
  180. package/esm2022/datepicker/datepicker-input-base.mjs +4 -4
  181. package/esm2022/datepicker/datepicker-input.mjs +4 -4
  182. package/esm2022/datepicker/datepicker-intl.mjs +4 -4
  183. package/esm2022/datepicker/datepicker-module.mjs +5 -5
  184. package/esm2022/datepicker/datepicker-toggle.mjs +7 -7
  185. package/esm2022/datepicker/datepicker.mjs +4 -4
  186. package/esm2022/datepicker/month-view.mjs +4 -4
  187. package/esm2022/datepicker/multi-year-view.mjs +4 -4
  188. package/esm2022/datepicker/year-view.mjs +4 -4
  189. package/esm2022/dialog/dialog-container.mjs +4 -7
  190. package/esm2022/dialog/dialog-content-directives.mjs +16 -16
  191. package/esm2022/dialog/dialog.mjs +4 -4
  192. package/esm2022/dialog/module.mjs +5 -5
  193. package/esm2022/divider/divider-module.mjs +5 -5
  194. package/esm2022/divider/divider.mjs +4 -4
  195. package/esm2022/expansion/accordion.mjs +4 -4
  196. package/esm2022/expansion/expansion-module.mjs +5 -5
  197. package/esm2022/expansion/expansion-panel-content.mjs +4 -4
  198. package/esm2022/expansion/expansion-panel-header.mjs +11 -11
  199. package/esm2022/expansion/expansion-panel.mjs +7 -7
  200. package/esm2022/form-field/directives/error.mjs +4 -4
  201. package/esm2022/form-field/directives/floating-label.mjs +4 -4
  202. package/esm2022/form-field/directives/hint.mjs +4 -4
  203. package/esm2022/form-field/directives/label.mjs +4 -4
  204. package/esm2022/form-field/directives/line-ripple.mjs +4 -4
  205. package/esm2022/form-field/directives/notched-outline.mjs +5 -5
  206. package/esm2022/form-field/directives/prefix.mjs +4 -4
  207. package/esm2022/form-field/directives/suffix.mjs +4 -4
  208. package/esm2022/form-field/form-field-control.mjs +4 -4
  209. package/esm2022/form-field/form-field.mjs +9 -6
  210. package/esm2022/form-field/module.mjs +5 -5
  211. package/esm2022/grid-list/grid-list-module.mjs +5 -5
  212. package/esm2022/grid-list/grid-list.mjs +4 -4
  213. package/esm2022/grid-list/grid-tile.mjs +16 -16
  214. package/esm2022/icon/icon-module.mjs +5 -5
  215. package/esm2022/icon/icon-registry.mjs +4 -4
  216. package/esm2022/icon/icon.mjs +4 -4
  217. package/esm2022/icon/testing/fake-icon-registry.mjs +8 -8
  218. package/esm2022/input/input.mjs +39 -6
  219. package/esm2022/input/module.mjs +5 -5
  220. package/esm2022/list/action-list.mjs +4 -4
  221. package/esm2022/list/list-base.mjs +7 -7
  222. package/esm2022/list/list-item-sections.mjs +19 -19
  223. package/esm2022/list/list-module.mjs +5 -5
  224. package/esm2022/list/list-option.mjs +6 -6
  225. package/esm2022/list/list.mjs +7 -7
  226. package/esm2022/list/nav-list.mjs +4 -4
  227. package/esm2022/list/selection-list.mjs +4 -4
  228. package/esm2022/list/subheader.mjs +4 -4
  229. package/esm2022/list/testing/selection-list-harness.mjs +2 -2
  230. package/esm2022/menu/menu-content.mjs +4 -4
  231. package/esm2022/menu/menu-item.mjs +4 -4
  232. package/esm2022/menu/menu-trigger.mjs +4 -4
  233. package/esm2022/menu/menu.mjs +4 -4
  234. package/esm2022/menu/module.mjs +5 -5
  235. package/esm2022/paginator/module.mjs +5 -5
  236. package/esm2022/paginator/paginator-intl.mjs +4 -4
  237. package/esm2022/paginator/paginator.mjs +4 -4
  238. package/esm2022/progress-bar/module.mjs +5 -5
  239. package/esm2022/progress-bar/progress-bar.mjs +4 -4
  240. package/esm2022/progress-spinner/module.mjs +5 -5
  241. package/esm2022/progress-spinner/progress-spinner.mjs +5 -5
  242. package/esm2022/radio/module.mjs +5 -5
  243. package/esm2022/radio/radio.mjs +7 -7
  244. package/esm2022/select/module.mjs +5 -5
  245. package/esm2022/select/select.mjs +7 -7
  246. package/esm2022/sidenav/drawer.mjs +10 -10
  247. package/esm2022/sidenav/sidenav-module.mjs +5 -5
  248. package/esm2022/sidenav/sidenav.mjs +10 -10
  249. package/esm2022/slide-toggle/module.mjs +9 -9
  250. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  251. package/esm2022/slide-toggle/slide-toggle.mjs +6 -6
  252. package/esm2022/slider/module.mjs +5 -5
  253. package/esm2022/slider/slider-input.mjs +7 -7
  254. package/esm2022/slider/slider-thumb.mjs +4 -4
  255. package/esm2022/slider/slider.mjs +5 -5
  256. package/esm2022/snack-bar/module.mjs +5 -5
  257. package/esm2022/snack-bar/simple-snack-bar.mjs +4 -4
  258. package/esm2022/snack-bar/snack-bar-container.mjs +4 -4
  259. package/esm2022/snack-bar/snack-bar-content.mjs +10 -10
  260. package/esm2022/snack-bar/snack-bar.mjs +4 -4
  261. package/esm2022/sort/sort-header-intl.mjs +4 -4
  262. package/esm2022/sort/sort-header.mjs +4 -4
  263. package/esm2022/sort/sort-module.mjs +5 -5
  264. package/esm2022/sort/sort.mjs +4 -4
  265. package/esm2022/stepper/step-content.mjs +4 -4
  266. package/esm2022/stepper/step-header.mjs +4 -4
  267. package/esm2022/stepper/step-label.mjs +4 -4
  268. package/esm2022/stepper/stepper-button.mjs +7 -7
  269. package/esm2022/stepper/stepper-icon.mjs +4 -4
  270. package/esm2022/stepper/stepper-intl.mjs +4 -4
  271. package/esm2022/stepper/stepper-module.mjs +5 -5
  272. package/esm2022/stepper/stepper.mjs +7 -7
  273. package/esm2022/table/cell.mjs +22 -22
  274. package/esm2022/table/module.mjs +5 -5
  275. package/esm2022/table/row.mjs +22 -22
  276. package/esm2022/table/table.mjs +7 -7
  277. package/esm2022/table/text-column.mjs +4 -4
  278. package/esm2022/tabs/ink-bar.mjs +4 -4
  279. package/esm2022/tabs/module.mjs +5 -5
  280. package/esm2022/tabs/paginated-tab-header.mjs +4 -4
  281. package/esm2022/tabs/tab-body.mjs +7 -7
  282. package/esm2022/tabs/tab-content.mjs +4 -4
  283. package/esm2022/tabs/tab-group.mjs +4 -4
  284. package/esm2022/tabs/tab-header.mjs +5 -5
  285. package/esm2022/tabs/tab-label-wrapper.mjs +4 -4
  286. package/esm2022/tabs/tab-label.mjs +4 -4
  287. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +11 -11
  288. package/esm2022/tabs/tab.mjs +4 -4
  289. package/esm2022/tabs/testing/tab-harness.mjs +2 -2
  290. package/esm2022/toolbar/toolbar-module.mjs +5 -5
  291. package/esm2022/toolbar/toolbar.mjs +7 -7
  292. package/esm2022/tooltip/module.mjs +5 -5
  293. package/esm2022/tooltip/tooltip.mjs +10 -7
  294. package/esm2022/tree/data-source/flat-data-source.mjs +9 -1
  295. package/esm2022/tree/node.mjs +106 -26
  296. package/esm2022/tree/outlet.mjs +4 -4
  297. package/esm2022/tree/padding.mjs +4 -4
  298. package/esm2022/tree/testing/node-harness.mjs +5 -1
  299. package/esm2022/tree/toggle.mjs +4 -4
  300. package/esm2022/tree/tree-module.mjs +5 -5
  301. package/esm2022/tree/tree.mjs +4 -5
  302. package/fesm2022/autocomplete.mjs +13 -14
  303. package/fesm2022/autocomplete.mjs.map +1 -1
  304. package/fesm2022/badge.mjs +10 -10
  305. package/fesm2022/badge.mjs.map +1 -1
  306. package/fesm2022/bottom-sheet.mjs +10 -10
  307. package/fesm2022/bottom-sheet.mjs.map +1 -1
  308. package/fesm2022/button-toggle.mjs +10 -10
  309. package/fesm2022/button-toggle.mjs.map +1 -1
  310. package/fesm2022/button.mjs +38 -38
  311. package/fesm2022/button.mjs.map +1 -1
  312. package/fesm2022/card.mjs +46 -46
  313. package/fesm2022/card.mjs.map +1 -1
  314. package/fesm2022/checkbox.mjs +24 -17
  315. package/fesm2022/checkbox.mjs.map +1 -1
  316. package/fesm2022/chips.mjs +41 -41
  317. package/fesm2022/chips.mjs.map +1 -1
  318. package/fesm2022/core.mjs +59 -59
  319. package/fesm2022/core.mjs.map +1 -1
  320. package/fesm2022/datepicker.mjs +82 -82
  321. package/fesm2022/datepicker.mjs.map +1 -1
  322. package/fesm2022/dialog.mjs +25 -28
  323. package/fesm2022/dialog.mjs.map +1 -1
  324. package/fesm2022/divider.mjs +7 -7
  325. package/fesm2022/divider.mjs.map +1 -1
  326. package/fesm2022/expansion.mjs +26 -26
  327. package/fesm2022/expansion.mjs.map +1 -1
  328. package/fesm2022/form-field.mjs +40 -37
  329. package/fesm2022/form-field.mjs.map +1 -1
  330. package/fesm2022/grid-list.mjs +22 -22
  331. package/fesm2022/grid-list.mjs.map +1 -1
  332. package/fesm2022/icon/testing.mjs +7 -7
  333. package/fesm2022/icon/testing.mjs.map +1 -1
  334. package/fesm2022/icon.mjs +10 -10
  335. package/fesm2022/icon.mjs.map +1 -1
  336. package/fesm2022/input.mjs +42 -9
  337. package/fesm2022/input.mjs.map +1 -1
  338. package/fesm2022/list/testing.mjs +1 -1
  339. package/fesm2022/list/testing.mjs.map +1 -1
  340. package/fesm2022/list.mjs +51 -51
  341. package/fesm2022/list.mjs.map +1 -1
  342. package/fesm2022/menu.mjs +16 -16
  343. package/fesm2022/menu.mjs.map +1 -1
  344. package/fesm2022/paginator.mjs +10 -10
  345. package/fesm2022/paginator.mjs.map +1 -1
  346. package/fesm2022/progress-bar.mjs +7 -7
  347. package/fesm2022/progress-bar.mjs.map +1 -1
  348. package/fesm2022/progress-spinner.mjs +8 -8
  349. package/fesm2022/progress-spinner.mjs.map +1 -1
  350. package/fesm2022/radio.mjs +10 -10
  351. package/fesm2022/radio.mjs.map +1 -1
  352. package/fesm2022/select.mjs +10 -10
  353. package/fesm2022/select.mjs.map +1 -1
  354. package/fesm2022/sidenav.mjs +22 -22
  355. package/fesm2022/sidenav.mjs.map +1 -1
  356. package/fesm2022/slide-toggle.mjs +16 -16
  357. package/fesm2022/slide-toggle.mjs.map +1 -1
  358. package/fesm2022/slider.mjs +17 -17
  359. package/fesm2022/slider.mjs.map +1 -1
  360. package/fesm2022/snack-bar.mjs +22 -22
  361. package/fesm2022/snack-bar.mjs.map +1 -1
  362. package/fesm2022/sort.mjs +13 -13
  363. package/fesm2022/sort.mjs.map +1 -1
  364. package/fesm2022/stepper.mjs +31 -31
  365. package/fesm2022/stepper.mjs.map +1 -1
  366. package/fesm2022/table.mjs +55 -55
  367. package/fesm2022/table.mjs.map +1 -1
  368. package/fesm2022/tabs/testing.mjs +1 -1
  369. package/fesm2022/tabs/testing.mjs.map +1 -1
  370. package/fesm2022/tabs.mjs +45 -45
  371. package/fesm2022/tabs.mjs.map +1 -1
  372. package/fesm2022/toolbar.mjs +10 -10
  373. package/fesm2022/toolbar.mjs.map +1 -1
  374. package/fesm2022/tooltip.mjs +13 -10
  375. package/fesm2022/tooltip.mjs.map +1 -1
  376. package/fesm2022/tree/testing.mjs +4 -0
  377. package/fesm2022/tree/testing.mjs.map +1 -1
  378. package/fesm2022/tree.mjs +130 -43
  379. package/fesm2022/tree.mjs.map +1 -1
  380. package/form-field/_form-field-focus-overlay.scss +1 -1
  381. package/form-field/_form-field-subscript.scss +1 -3
  382. package/form-field/_form-field-theme.scss +20 -20
  383. package/form-field/_mdc-text-field-density-overrides.scss +2 -2
  384. package/form-field/_mdc-text-field-structure-overrides.scss +2 -13
  385. package/form-field/_mdc-text-field-structure.scss +610 -0
  386. package/input/index.d.ts +13 -1
  387. package/list/testing/index.d.ts +1 -1
  388. package/package.json +3 -51
  389. package/prebuilt-themes/azure-blue.css +1 -1
  390. package/prebuilt-themes/cyan-orange.css +1 -1
  391. package/prebuilt-themes/deeppurple-amber.css +1 -1
  392. package/prebuilt-themes/indigo-pink.css +1 -1
  393. package/prebuilt-themes/magenta-violet.css +1 -1
  394. package/prebuilt-themes/pink-bluegrey.css +1 -1
  395. package/prebuilt-themes/purple-green.css +1 -1
  396. package/prebuilt-themes/rose-red.css +1 -1
  397. package/progress-spinner/_progress-spinner-theme.scss +11 -14
  398. package/schematics/ng-add/index.js +1 -1
  399. package/schematics/ng-add/index.mjs +1 -1
  400. package/schematics/ng-generate/m3-theme/index_bundled.js +2 -2
  401. package/schematics/ng-update/index_bundled.js +31 -31
  402. package/slide-toggle/_slide-toggle-theme.scss +21 -26
  403. package/slider/_slider-theme.scss +24 -41
  404. package/tabs/_tabs-common.scss +14 -0
  405. package/tabs/testing/index.d.ts +1 -1
  406. package/tooltip/index.d.ts +5 -0
  407. package/tree/index.d.ts +60 -11
  408. package/tree/testing/index.d.ts +2 -0
  409. package/core/mdc-helpers/_mdc-helpers.scss +0 -60
@@ -0,0 +1,610 @@
1
+ @use '@angular/cdk';
2
+ @use '../core/style/vendor-prefixes';
3
+ @use '../core/tokens/token-utils';
4
+ @use '../core/tokens/m2/mdc/filled-text-field' as tokens-mdc-filled-text-field;
5
+ @use '../core/tokens/m2/mdc/outlined-text-field' as tokens-mdc-outlined-text-field;
6
+
7
+ // Includes the structural styles for the form field inherited from MDC.
8
+ @mixin private-text-field-structure {
9
+ $filled-slots: (tokens-mdc-filled-text-field.$prefix,
10
+ tokens-mdc-filled-text-field.get-token-slots());
11
+ $outlined-slots: (tokens-mdc-outlined-text-field.$prefix,
12
+ tokens-mdc-outlined-text-field.get-token-slots());
13
+
14
+ .mdc-text-field {
15
+ display: inline-flex;
16
+ align-items: baseline;
17
+ padding: 0 16px;
18
+ position: relative;
19
+ box-sizing: border-box;
20
+ overflow: hidden;
21
+ will-change: opacity, transform, color;
22
+
23
+ // TODO(crisbeto): The filled form field overrides these while the outlined doesn't.
24
+ // The correct thing to do would be to remove them from here and have the one based on the
25
+ // token in the outlined appearance. We keep them as is for now to avoid screenshot diffs.
26
+ border-top-left-radius: 4px;
27
+ border-top-right-radius: 4px;
28
+ border-bottom-right-radius: 0;
29
+ border-bottom-left-radius: 0;
30
+ }
31
+
32
+ .mdc-text-field__input {
33
+ width: 100%;
34
+ min-width: 0;
35
+ border: none;
36
+ border-radius: 0;
37
+ background: none;
38
+ padding: 0;
39
+ -moz-appearance: none;
40
+ -webkit-appearance: none;
41
+
42
+ // TODO(crisbeto): this height gets overwritten eventually, but there are some internal
43
+ // tests that depend on this being here in weird ways so we're keeping it around for now.
44
+ height: 28px;
45
+
46
+ // Note that while this style and the `-ms-clear` are identical, we can't combine
47
+ // them because if one of them isn't supported, it'll invalidate the whole rule.
48
+ &::-webkit-calendar-picker-indicator {
49
+ display: none;
50
+ }
51
+
52
+ &::-ms-clear {
53
+ display: none;
54
+ }
55
+
56
+ &:focus {
57
+ outline: none;
58
+ }
59
+
60
+ &:invalid {
61
+ box-shadow: none;
62
+ }
63
+
64
+ @include vendor-prefixes.input-placeholder {
65
+ opacity: 0;
66
+ }
67
+
68
+ .mdc-text-field--no-label &,
69
+ .mdc-text-field--focused & {
70
+ @include vendor-prefixes.input-placeholder {
71
+ opacity: 1;
72
+ }
73
+ }
74
+
75
+ .mdc-text-field--outlined &,
76
+ .mdc-text-field--filled.mdc-text-field--no-label & {
77
+ height: 100%;
78
+ }
79
+
80
+ .mdc-text-field--outlined & {
81
+ display: flex;
82
+ border: none !important;
83
+ background-color: transparent;
84
+ }
85
+
86
+ .mdc-text-field--disabled & {
87
+ pointer-events: auto;
88
+ }
89
+
90
+ @include token-utils.use-tokens($filled-slots...) {
91
+ @include _input-tokens('.mdc-text-field--filled');
92
+ }
93
+
94
+ @include token-utils.use-tokens($outlined-slots...) {
95
+ @include _input-tokens('.mdc-text-field--outlined');
96
+ }
97
+
98
+ @include cdk.high-contrast(active, off) {
99
+ .mdc-text-field--disabled & {
100
+ background-color: Window;
101
+ }
102
+ }
103
+ }
104
+
105
+ .mdc-text-field--filled {
106
+ height: 56px;
107
+ border-bottom-right-radius: 0;
108
+ border-bottom-left-radius: 0;
109
+
110
+ @include token-utils.use-tokens($filled-slots...) {
111
+ @include token-utils.create-token-slot(border-top-left-radius, container-shape);
112
+ @include token-utils.create-token-slot(border-top-right-radius, container-shape);
113
+
114
+ &:not(.mdc-text-field--disabled) {
115
+ @include token-utils.create-token-slot(background-color, container-color);
116
+ }
117
+
118
+ &.mdc-text-field--disabled {
119
+ @include token-utils.create-token-slot(background-color, disabled-container-color);
120
+ }
121
+ }
122
+ }
123
+
124
+ .mdc-text-field--outlined {
125
+ height: 56px;
126
+ overflow: visible;
127
+ padding-left: 16px;
128
+ padding-right: 16px;
129
+
130
+ @include _supports-max {
131
+ @include token-utils.use-tokens($outlined-slots...) {
132
+ $shape-var: token-utils.get-token-variable(container-shape);
133
+ padding-right: max(16px, var(#{$shape-var}));
134
+ padding-left: max(16px, calc(var(#{$shape-var}) + 4px));
135
+
136
+ [dir='rtl'] & {
137
+ padding-right: max(16px, calc(var(#{$shape-var}) + 4px));
138
+ padding-left: max(16px, var(#{$shape-var}));
139
+ }
140
+ }
141
+ }
142
+ }
143
+
144
+ .mdc-floating-label {
145
+ position: absolute;
146
+ left: 0;
147
+ transform-origin: left top;
148
+ line-height: 1.15rem;
149
+ text-align: left;
150
+ text-overflow: ellipsis;
151
+ white-space: nowrap;
152
+ cursor: text;
153
+ overflow: hidden;
154
+ will-change: transform;
155
+
156
+ [dir='rtl'] & {
157
+ right: 0;
158
+ left: auto;
159
+ transform-origin: right top;
160
+ text-align: right;
161
+ }
162
+
163
+ .mdc-text-field & {
164
+ top: 50%;
165
+ transform: translateY(-50%);
166
+ pointer-events: none;
167
+ }
168
+
169
+ .mdc-notched-outline & {
170
+ display: inline-block;
171
+ position: relative;
172
+ max-width: 100%;
173
+ }
174
+
175
+ .mdc-text-field--outlined & {
176
+ left: 4px;
177
+ right: auto;
178
+ }
179
+
180
+ [dir='rtl'] .mdc-text-field--outlined & {
181
+ left: auto;
182
+ right: 4px;
183
+ }
184
+
185
+ .mdc-text-field--filled & {
186
+ left: 16px;
187
+ right: auto;
188
+ }
189
+
190
+ [dir='rtl'] .mdc-text-field--filled & {
191
+ left: auto;
192
+ right: 16px;
193
+ }
194
+
195
+ .mdc-text-field--disabled & {
196
+ cursor: default;
197
+
198
+ @include cdk.high-contrast(active, off) {
199
+ z-index: 1;
200
+ }
201
+ }
202
+
203
+ .mdc-text-field--filled.mdc-text-field--no-label & {
204
+ display: none;
205
+ }
206
+
207
+ @include token-utils.use-tokens($filled-slots...) {
208
+ @include _floating-label-tokens('.mdc-text-field--filled');
209
+ }
210
+
211
+ @include token-utils.use-tokens($outlined-slots...) {
212
+ @include _floating-label-tokens('.mdc-text-field--outlined');
213
+ }
214
+ }
215
+
216
+ .mdc-floating-label--float-above {
217
+ cursor: auto;
218
+ transform: translateY(-106%) scale(0.75);
219
+
220
+ .mdc-text-field--filled & {
221
+ transform: translateY(-106%) scale(0.75);
222
+ }
223
+
224
+ .mdc-text-field--outlined & {
225
+ transform: translateY(-37.25px) scale(1);
226
+ font-size: 0.75rem;
227
+ }
228
+
229
+ .mdc-notched-outline & {
230
+ text-overflow: clip;
231
+ }
232
+
233
+ .mdc-notched-outline--upgraded & {
234
+ max-width: 133.3333333333%;
235
+ }
236
+
237
+ .mdc-text-field--outlined.mdc-notched-outline--upgraded &,
238
+ .mdc-text-field--outlined .mdc-notched-outline--upgraded & {
239
+ transform: translateY(-34.75px) scale(0.75);
240
+ }
241
+
242
+ .mdc-text-field--outlined.mdc-notched-outline--upgraded &,
243
+ .mdc-text-field--outlined .mdc-notched-outline--upgraded & {
244
+ font-size: 1rem;
245
+ }
246
+ }
247
+
248
+ .mdc-floating-label--required {
249
+ &:not(.mdc-floating-label--hide-required-marker)::after {
250
+ margin-left: 1px;
251
+ margin-right: 0;
252
+ content: '*';
253
+
254
+ [dir='rtl'] & {
255
+ margin-left: 0;
256
+ margin-right: 1px;
257
+ }
258
+ }
259
+ }
260
+
261
+ .mdc-notched-outline {
262
+ display: flex;
263
+ position: absolute;
264
+ top: 0;
265
+ right: 0;
266
+ left: 0;
267
+ box-sizing: border-box;
268
+ width: 100%;
269
+ max-width: 100%;
270
+ height: 100%;
271
+ text-align: left;
272
+ pointer-events: none;
273
+
274
+ [dir='rtl'] & {
275
+ text-align: right;
276
+ }
277
+
278
+ .mdc-text-field--outlined & {
279
+ z-index: 1;
280
+ }
281
+ }
282
+
283
+ .mat-mdc-notch-piece {
284
+ box-sizing: border-box;
285
+ height: 100%;
286
+ pointer-events: none;
287
+ border-top: 1px solid;
288
+ border-bottom: 1px solid;
289
+
290
+ .mdc-text-field--focused & {
291
+ border-width: 2px;
292
+ }
293
+
294
+ @include token-utils.use-tokens($outlined-slots...) {
295
+ // Moved out into variables because the selectors we inherited were too long.
296
+ $enabled-selector: '.mdc-text-field--outlined:not(.mdc-text-field--disabled)';
297
+ $hover-selector: ':not(.mdc-text-field--focused):hover';
298
+
299
+ #{$enabled-selector} & {
300
+ @include token-utils.create-token-slot(border-color, outline-color);
301
+ @include token-utils.create-token-slot(border-width, outline-width);
302
+ }
303
+
304
+ #{$enabled-selector}#{$hover-selector} & {
305
+ @include token-utils.create-token-slot(border-color, hover-outline-color);
306
+ }
307
+
308
+ #{$enabled-selector}.mdc-text-field--focused & {
309
+ @include token-utils.create-token-slot(border-color, focus-outline-color);
310
+ }
311
+
312
+ .mdc-text-field--outlined.mdc-text-field--disabled & {
313
+ @include token-utils.create-token-slot(border-color, disabled-outline-color);
314
+ }
315
+
316
+ #{$enabled-selector}.mdc-text-field--invalid & {
317
+ @include token-utils.create-token-slot(border-color, error-outline-color);
318
+ }
319
+
320
+ #{$enabled-selector}.mdc-text-field--invalid#{$hover-selector} .mdc-notched-outline & {
321
+ @include token-utils.create-token-slot(border-color, error-hover-outline-color);
322
+ }
323
+
324
+ #{$enabled-selector}.mdc-text-field--invalid.mdc-text-field--focused & {
325
+ @include token-utils.create-token-slot(border-color, error-focus-outline-color);
326
+ }
327
+
328
+ #{$enabled-selector}.mdc-text-field--focused .mdc-notched-outline & {
329
+ @include token-utils.create-token-slot(border-width, focus-outline-width);
330
+ }
331
+ }
332
+ }
333
+
334
+ .mdc-notched-outline__leading {
335
+ border-left: 1px solid;
336
+ border-right: none;
337
+ border-top-right-radius: 0;
338
+ border-bottom-right-radius: 0;
339
+ width: 12px;
340
+
341
+ @include token-utils.use-tokens($outlined-slots...) {
342
+ @include token-utils.create-token-slot(border-top-left-radius, container-shape);
343
+ @include token-utils.create-token-slot(border-bottom-left-radius, container-shape);
344
+
345
+ @include _supports-max {
346
+ .mdc-text-field--outlined .mdc-notched-outline & {
347
+ $shape-var: token-utils.get-token-variable(container-shape);
348
+ width: max(12px, var(#{$shape-var}));
349
+ }
350
+ }
351
+ }
352
+
353
+ [dir='rtl'] & {
354
+ border-left: none;
355
+ border-right: 1px solid;
356
+ border-bottom-left-radius: 0;
357
+ border-top-left-radius: 0;
358
+
359
+ @include token-utils.use-tokens($outlined-slots...) {
360
+ @include token-utils.create-token-slot(border-top-right-radius, container-shape);
361
+ @include token-utils.create-token-slot(border-bottom-right-radius, container-shape);
362
+ }
363
+ }
364
+ }
365
+
366
+ .mdc-notched-outline__trailing {
367
+ flex-grow: 1;
368
+ border-left: none;
369
+ border-right: 1px solid;
370
+ border-top-left-radius: 0;
371
+ border-bottom-left-radius: 0;
372
+
373
+ @include token-utils.use-tokens($outlined-slots...) {
374
+ @include token-utils.create-token-slot(border-top-right-radius, container-shape);
375
+ @include token-utils.create-token-slot(border-bottom-right-radius, container-shape);
376
+ }
377
+
378
+ [dir='rtl'] & {
379
+ border-left: 1px solid;
380
+ border-right: none;
381
+ border-top-right-radius: 0;
382
+ border-bottom-right-radius: 0;
383
+
384
+ @include token-utils.use-tokens($outlined-slots...) {
385
+ @include token-utils.create-token-slot(border-top-left-radius, container-shape);
386
+ @include token-utils.create-token-slot(border-bottom-left-radius, container-shape);
387
+ }
388
+ }
389
+ }
390
+
391
+ .mdc-notched-outline__notch {
392
+ flex: 0 0 auto;
393
+ width: auto;
394
+ max-width: calc(100% - 24px);
395
+
396
+ @include token-utils.use-tokens($outlined-slots...) {
397
+ @include _supports-max {
398
+ .mdc-text-field--outlined .mdc-notched-outline & {
399
+ $shape-var: token-utils.get-token-variable(container-shape);
400
+ max-width: calc(100% - max(12px, var(#{$shape-var})) * 2);
401
+ }
402
+ }
403
+ }
404
+
405
+ .mdc-text-field--outlined .mdc-notched-outline--notched & {
406
+ padding-top: 1px;
407
+ }
408
+
409
+ .mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched & {
410
+ padding-top: 2px;
411
+ }
412
+
413
+ .mdc-notched-outline--notched & {
414
+ padding-left: 0;
415
+ padding-right: 8px;
416
+ border-top: none;
417
+ }
418
+
419
+ [dir='rtl'] .mdc-notched-outline--notched & {
420
+ padding-left: 8px;
421
+ padding-right: 0;
422
+ }
423
+
424
+ .mdc-notched-outline--no-label & {
425
+ display: none;
426
+ }
427
+ }
428
+
429
+ .mdc-line-ripple {
430
+ &::before, &::after {
431
+ position: absolute;
432
+ bottom: 0;
433
+ left: 0;
434
+ width: 100%;
435
+ border-bottom-style: solid;
436
+ content: '';
437
+ }
438
+
439
+ &::before {
440
+ z-index: 1;
441
+
442
+ @include token-utils.use-tokens($filled-slots...) {
443
+ $enabled-field: '.mdc-text-field--filled:not(.mdc-text-field--disabled)';
444
+
445
+ @include token-utils.create-token-slot(border-bottom-width, active-indicator-height);
446
+
447
+ #{$enabled-field} & {
448
+ @include token-utils.create-token-slot(border-bottom-color, active-indicator-color);
449
+ }
450
+
451
+ #{$enabled-field}:not(.mdc-text-field--focused):hover & {
452
+ @include token-utils.create-token-slot(border-bottom-color, hover-active-indicator-color);
453
+ }
454
+
455
+ .mdc-text-field--filled.mdc-text-field--disabled & {
456
+ @include token-utils.create-token-slot(border-bottom-color,
457
+ disabled-active-indicator-color);
458
+ }
459
+
460
+ #{$enabled-field}.mdc-text-field--invalid & {
461
+ @include token-utils.create-token-slot(border-bottom-color, error-active-indicator-color);
462
+ }
463
+
464
+ #{$enabled-field}.mdc-text-field--invalid:not(.mdc-text-field--focused):hover & {
465
+ @include token-utils.create-token-slot(border-bottom-color,
466
+ error-hover-active-indicator-color);
467
+ }
468
+ }
469
+ }
470
+
471
+ &::after {
472
+ transform: scaleX(0);
473
+ opacity: 0;
474
+ z-index: 2;
475
+
476
+ @include token-utils.use-tokens($filled-slots...) {
477
+ .mdc-text-field--filled & {
478
+ @include token-utils.create-token-slot(border-bottom-width,
479
+ focus-active-indicator-height);
480
+ }
481
+
482
+ .mdc-text-field--filled:not(.mdc-text-field--disabled) & {
483
+ @include token-utils.create-token-slot(border-bottom-color, focus-active-indicator-color);
484
+ }
485
+
486
+ .mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled) & {
487
+ @include token-utils.create-token-slot(border-bottom-color,
488
+ error-focus-active-indicator-color);
489
+ }
490
+ }
491
+ }
492
+ }
493
+
494
+ .mdc-line-ripple--active::after {
495
+ transform: scaleX(1);
496
+ opacity: 1;
497
+ }
498
+
499
+ .mdc-line-ripple--deactivating::after {
500
+ opacity: 0;
501
+ }
502
+
503
+ .mdc-text-field--disabled {
504
+ pointer-events: none;
505
+ }
506
+ }
507
+
508
+ // Includes the tokens for the floating label for a specific form field variant.
509
+ @mixin _floating-label-tokens($selector) {
510
+ $enabled-field: '#{$selector}:not(.mdc-text-field--disabled)';
511
+
512
+ #{$enabled-field} & {
513
+ @include token-utils.create-token-slot(color, label-text-color);
514
+ }
515
+
516
+ #{$enabled-field}.mdc-text-field--focused & {
517
+ @include token-utils.create-token-slot(color, focus-label-text-color);
518
+ }
519
+
520
+ #{$enabled-field}:not(.mdc-text-field--focused):hover & {
521
+ @include token-utils.create-token-slot(color, hover-label-text-color);
522
+ }
523
+
524
+ #{$selector}.mdc-text-field--disabled & {
525
+ @include token-utils.create-token-slot(color, disabled-label-text-color);
526
+ }
527
+
528
+ #{$enabled-field}.mdc-text-field--invalid & {
529
+ @include token-utils.create-token-slot(color, error-label-text-color);
530
+ }
531
+
532
+ #{$enabled-field}.mdc-text-field--invalid.mdc-text-field--focused & {
533
+ @include token-utils.create-token-slot(color, error-focus-label-text-color);
534
+ }
535
+
536
+ #{$enabled-field}.mdc-text-field--invalid:not(.mdc-text-field--disabled):hover & {
537
+ @include token-utils.create-token-slot(color, error-hover-label-text-color);
538
+ }
539
+
540
+ #{$selector} & {
541
+ @include token-utils.create-token-slot(font-family, label-text-font);
542
+ @include token-utils.create-token-slot(font-size, label-text-size);
543
+ @include token-utils.create-token-slot(font-weight, label-text-weight);
544
+ @include token-utils.create-token-slot(letter-spacing, label-text-tracking);
545
+ }
546
+ }
547
+
548
+ // Includes the tokens for the input for a specific form field variant.
549
+ @mixin _input-tokens($selector) {
550
+ #{$selector}:not(.mdc-text-field--disabled) & {
551
+ @include token-utils.create-token-slot(color, input-text-color);
552
+ @include token-utils.create-token-slot(caret-color, caret-color);
553
+
554
+ @include vendor-prefixes.input-placeholder {
555
+ @include token-utils.create-token-slot(color, input-text-placeholder-color);
556
+ }
557
+ }
558
+
559
+ #{$selector}.mdc-text-field--invalid:not(.mdc-text-field--disabled) & {
560
+ @include token-utils.create-token-slot(caret-color, error-caret-color);
561
+ }
562
+
563
+ #{$selector}.mdc-text-field--disabled & {
564
+ @include token-utils.create-token-slot(color, disabled-input-text-color);
565
+ }
566
+ }
567
+
568
+ // Wraps the content in a `@supports` query targeting the `max` CSS function.
569
+ @mixin _supports-max {
570
+ // stylelint-disable material/no-prefixes
571
+ @supports (top: max(0%)) {
572
+ @content;
573
+ }
574
+ // stylelint-enable
575
+ }
576
+
577
+ // Includes the animation styles for the form field inherited from MDC.
578
+ @mixin private-text-field-animations {
579
+ $timing-curve: cubic-bezier(0.4, 0, 0.2, 1);
580
+
581
+ .mdc-floating-label {
582
+ transition: transform 150ms $timing-curve, color 150ms $timing-curve;
583
+ }
584
+
585
+ .mdc-text-field__input {
586
+ transition: opacity 150ms $timing-curve;
587
+
588
+ @include vendor-prefixes.input-placeholder {
589
+ transition: opacity 67ms $timing-curve;
590
+ }
591
+ }
592
+
593
+ &.mdc-text-field--no-label,
594
+ &.mdc-text-field--focused {
595
+ .mdc-text-field__input {
596
+ @include vendor-prefixes.input-placeholder {
597
+ transition-delay: 40ms;
598
+ transition-duration: 110ms;
599
+ }
600
+ }
601
+ }
602
+
603
+ .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before {
604
+ transition-duration: 75ms;
605
+ }
606
+
607
+ .mdc-line-ripple::after {
608
+ transition: transform 180ms $timing-curve, opacity 180ms $timing-curve;
609
+ }
610
+ }
package/input/index.d.ts CHANGED
@@ -56,12 +56,14 @@ export declare class MatInput implements MatFormFieldControl<any>, OnChanges, On
56
56
  protected _platform: Platform;
57
57
  ngControl: NgControl;
58
58
  private _autofillMonitor;
59
+ private _ngZone;
59
60
  protected _formField?: MatFormField | undefined;
60
61
  protected _uid: string;
61
62
  protected _previousNativeValue: any;
62
63
  private _inputValueAccessor;
63
64
  private _previousPlaceholder;
64
65
  private _errorStateTracker;
66
+ private _webkitBlinkWheelListenerAttached;
65
67
  /** Whether the component is being rendered on the server. */
66
68
  readonly _isServer: boolean;
67
69
  /** Whether the component is a native html select. */
@@ -147,7 +149,7 @@ export declare class MatInput implements MatFormFieldControl<any>, OnChanges, On
147
149
  get errorState(): boolean;
148
150
  set errorState(value: boolean);
149
151
  protected _neverEmptyInputTypes: string[];
150
- constructor(_elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>, _platform: Platform, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, defaultErrorStateMatcher: ErrorStateMatcher, inputValueAccessor: any, _autofillMonitor: AutofillMonitor, ngZone: NgZone, _formField?: MatFormField | undefined);
152
+ constructor(_elementRef: ElementRef<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement>, _platform: Platform, ngControl: NgControl, parentForm: NgForm, parentFormGroup: FormGroupDirective, defaultErrorStateMatcher: ErrorStateMatcher, inputValueAccessor: any, _autofillMonitor: AutofillMonitor, _ngZone: NgZone, _formField?: MatFormField | undefined);
151
153
  ngAfterViewInit(): void;
152
154
  ngOnChanges(): void;
153
155
  ngOnDestroy(): void;
@@ -194,6 +196,16 @@ export declare class MatInput implements MatFormFieldControl<any>, OnChanges, On
194
196
  /** Whether the form control is a native select that is displayed inline. */
195
197
  _isInlineSelect(): boolean;
196
198
  private _iOSKeyupListener;
199
+ private _webkitBlinkWheelListener;
200
+ /**
201
+ * In blink and webkit browsers a focused number input does not increment or decrement its value
202
+ * on mouse wheel interaction unless a wheel event listener is attached to it or one of its ancestors or a passive wheel listener is attached somewhere in the DOM.
203
+ * For example: Hitting a tooltip once enables the mouse wheel input for all number inputs as long as it exists.
204
+ * In order to get reliable and intuitive behavior we apply a wheel event on our own
205
+ * thus making sure increment and decrement by mouse wheel works every time.
206
+ * @docs-private
207
+ */
208
+ private _ensureWheelDefaultBehavior;
197
209
  static ɵfac: i0.ɵɵFactoryDeclaration<MatInput, [null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, null, { optional: true; self: true; }, null, null, { optional: true; }]>;
198
210
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatInput, "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", ["matInput"], { "disabled": { "alias": "disabled"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "type": { "alias": "type"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "userAriaDescribedBy": { "alias": "aria-describedby"; "required": false; }; "value": { "alias": "value"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; }, {}, never, never, true, never>;
199
211
  }
@@ -321,7 +321,7 @@ export declare class MatNavListItemHarness extends MatListItemHarnessBase {
321
321
  isActivated(): Promise<boolean>;
322
322
  }
323
323
 
324
- /** Harness for interacting with a MDC_based selection-list in tests. */
324
+ /** Harness for interacting with a selection-list in tests. */
325
325
  export declare class MatSelectionListHarness extends MatListHarnessBase<typeof MatListOptionHarness, MatListOptionHarness, ListOptionHarnessFilters> {
326
326
  /** The selector for the host element of a `MatSelectionList` instance. */
327
327
  static hostSelector: string;