@angular/material 13.3.3 → 14.0.0-next.10

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 (439) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/autocomplete-trigger.d.ts +13 -3
  3. package/autocomplete/autocomplete.d.ts +7 -1
  4. package/badge/_badge-theme.scss +3 -2
  5. package/checkbox/testing/checkbox-harness-filters.d.ts +2 -0
  6. package/chips/chip-input.d.ts +2 -5
  7. package/chips/chip-list.d.ts +20 -5
  8. package/chips/chip.d.ts +3 -1
  9. package/core/_core.scss +5 -7
  10. package/core/common-behaviors/error-state.d.ts +1 -2
  11. package/core/ripple/_ripple.scss +6 -3
  12. package/core/ripple/ripple-ref.d.ts +2 -1
  13. package/core/ripple/ripple-renderer.d.ts +16 -3
  14. package/core/style/_menu-common.scss +3 -2
  15. package/core/style/_vendor-prefixes.scss +1 -1
  16. package/datepicker/calendar-body.d.ts +12 -3
  17. package/datepicker/date-range-input-parts.d.ts +4 -1
  18. package/datepicker/month-view.d.ts +18 -0
  19. package/datepicker/multi-year-view.d.ts +18 -0
  20. package/datepicker/year-view.d.ts +18 -0
  21. package/dialog/dialog-animations.d.ts +10 -0
  22. package/dialog/dialog-config.d.ts +10 -1
  23. package/dialog/dialog-container.d.ts +12 -1
  24. package/dialog/dialog-content-directives.d.ts +5 -1
  25. package/dialog/public-api.d.ts +1 -1
  26. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  27. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  28. package/esm2020/autocomplete/autocomplete-trigger.mjs +68 -39
  29. package/esm2020/autocomplete/autocomplete.mjs +19 -9
  30. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +7 -1
  31. package/esm2020/badge/badge-module.mjs +5 -5
  32. package/esm2020/badge/badge.mjs +4 -4
  33. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +5 -5
  34. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  35. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  36. package/esm2020/button/button-module.mjs +5 -5
  37. package/esm2020/button/button.mjs +9 -9
  38. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  39. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  40. package/esm2020/card/card-module.mjs +5 -5
  41. package/esm2020/card/card.mjs +44 -44
  42. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  43. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  44. package/esm2020/checkbox/checkbox.mjs +5 -5
  45. package/esm2020/checkbox/testing/checkbox-harness-filters.mjs +1 -1
  46. package/esm2020/checkbox/testing/checkbox-harness.mjs +3 -2
  47. package/esm2020/chips/chip-input.mjs +4 -4
  48. package/esm2020/chips/chip-list.mjs +34 -9
  49. package/esm2020/chips/chip.mjs +18 -14
  50. package/esm2020/chips/chips-module.mjs +5 -5
  51. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  52. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  53. package/esm2020/core/datetime/index.mjs +9 -9
  54. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  55. package/esm2020/core/error/error-options.mjs +7 -7
  56. package/esm2020/core/line/line.mjs +8 -8
  57. package/esm2020/core/option/index.mjs +5 -5
  58. package/esm2020/core/option/optgroup.mjs +8 -8
  59. package/esm2020/core/option/option.mjs +8 -8
  60. package/esm2020/core/ripple/index.mjs +5 -5
  61. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  62. package/esm2020/core/ripple/ripple-renderer.mjs +113 -53
  63. package/esm2020/core/ripple/ripple.mjs +4 -4
  64. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  65. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  66. package/esm2020/core/version.mjs +1 -1
  67. package/esm2020/datepicker/calendar-body.mjs +27 -5
  68. package/esm2020/datepicker/calendar.mjs +8 -8
  69. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  70. package/esm2020/datepicker/date-range-input.mjs +6 -6
  71. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  72. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  73. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  74. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  75. package/esm2020/datepicker/datepicker-base.mjs +8 -8
  76. package/esm2020/datepicker/datepicker-input-base.mjs +4 -4
  77. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  78. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  79. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  80. package/esm2020/datepicker/datepicker-toggle.mjs +8 -8
  81. package/esm2020/datepicker/datepicker.mjs +4 -4
  82. package/esm2020/datepicker/month-view.mjs +36 -9
  83. package/esm2020/datepicker/multi-year-view.mjs +42 -10
  84. package/esm2020/datepicker/year-view.mjs +41 -10
  85. package/esm2020/dialog/dialog-animations.mjs +12 -5
  86. package/esm2020/dialog/dialog-config.mjs +6 -1
  87. package/esm2020/dialog/dialog-container.mjs +32 -19
  88. package/esm2020/dialog/dialog-content-directives.mjs +31 -15
  89. package/esm2020/dialog/dialog-module.mjs +5 -5
  90. package/esm2020/dialog/dialog.mjs +10 -10
  91. package/esm2020/dialog/public-api.mjs +2 -2
  92. package/esm2020/divider/divider-module.mjs +5 -5
  93. package/esm2020/divider/divider.mjs +5 -5
  94. package/esm2020/expansion/accordion.mjs +4 -4
  95. package/esm2020/expansion/expansion-module.mjs +5 -5
  96. package/esm2020/expansion/expansion-panel-base.mjs +14 -0
  97. package/esm2020/expansion/expansion-panel-content.mjs +14 -7
  98. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  99. package/esm2020/expansion/expansion-panel.mjs +13 -10
  100. package/esm2020/expansion/public-api.mjs +2 -1
  101. package/esm2020/form-field/error.mjs +4 -4
  102. package/esm2020/form-field/form-field-control.mjs +4 -4
  103. package/esm2020/form-field/form-field-module.mjs +5 -5
  104. package/esm2020/form-field/form-field.mjs +22 -14
  105. package/esm2020/form-field/hint.mjs +4 -4
  106. package/esm2020/form-field/label.mjs +4 -4
  107. package/esm2020/form-field/placeholder.mjs +4 -4
  108. package/esm2020/form-field/prefix.mjs +4 -4
  109. package/esm2020/form-field/suffix.mjs +4 -4
  110. package/esm2020/form-field/testing/public-api.mjs +4 -4
  111. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  112. package/esm2020/grid-list/grid-list.mjs +6 -6
  113. package/esm2020/grid-list/grid-tile.mjs +17 -17
  114. package/esm2020/icon/icon-module.mjs +5 -5
  115. package/esm2020/icon/icon-registry.mjs +12 -14
  116. package/esm2020/icon/icon.mjs +31 -21
  117. package/esm2020/icon/testing/fake-icon-registry.mjs +9 -9
  118. package/esm2020/input/input-module.mjs +5 -5
  119. package/esm2020/input/input.mjs +20 -7
  120. package/esm2020/list/list-module.mjs +5 -5
  121. package/esm2020/list/list.mjs +21 -23
  122. package/esm2020/list/selection-list.mjs +14 -37
  123. package/esm2020/list/testing/list-item-harness-base.mjs +1 -9
  124. package/esm2020/menu/menu-content.mjs +7 -7
  125. package/esm2020/menu/menu-errors.mjs +1 -12
  126. package/esm2020/menu/menu-item.mjs +4 -4
  127. package/esm2020/menu/menu-module.mjs +5 -5
  128. package/esm2020/menu/menu-trigger.mjs +62 -64
  129. package/esm2020/menu/menu.mjs +8 -8
  130. package/esm2020/paginator/paginator-intl.mjs +4 -4
  131. package/esm2020/paginator/paginator-module.mjs +5 -5
  132. package/esm2020/paginator/paginator.mjs +12 -8
  133. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  134. package/esm2020/progress-bar/progress-bar.mjs +5 -5
  135. package/esm2020/progress-spinner/progress-spinner-module.mjs +5 -5
  136. package/esm2020/progress-spinner/progress-spinner.mjs +8 -5
  137. package/esm2020/radio/radio-module.mjs +5 -5
  138. package/esm2020/radio/radio.mjs +14 -14
  139. package/esm2020/radio/testing/radio-harness-filters.mjs +1 -1
  140. package/esm2020/radio/testing/radio-harness.mjs +3 -2
  141. package/esm2020/select/select-module.mjs +5 -5
  142. package/esm2020/select/select.mjs +25 -13
  143. package/esm2020/sidenav/drawer.mjs +12 -12
  144. package/esm2020/sidenav/sidenav-module.mjs +5 -5
  145. package/esm2020/sidenav/sidenav.mjs +12 -12
  146. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  147. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  148. package/esm2020/slide-toggle/slide-toggle.mjs +5 -5
  149. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  150. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +4 -2
  151. package/esm2020/slider/slider-module.mjs +5 -5
  152. package/esm2020/slider/slider.mjs +5 -5
  153. package/esm2020/snack-bar/simple-snack-bar.mjs +5 -5
  154. package/esm2020/snack-bar/snack-bar-container.mjs +5 -5
  155. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  156. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  157. package/esm2020/sort/sort-header-intl.mjs +4 -4
  158. package/esm2020/sort/sort-header.mjs +15 -7
  159. package/esm2020/sort/sort-module.mjs +5 -5
  160. package/esm2020/sort/sort.mjs +4 -4
  161. package/esm2020/stepper/public-api.mjs +2 -2
  162. package/esm2020/stepper/step-content.mjs +4 -4
  163. package/esm2020/stepper/step-header.mjs +5 -5
  164. package/esm2020/stepper/step-label.mjs +4 -4
  165. package/esm2020/stepper/stepper-animations.mjs +9 -3
  166. package/esm2020/stepper/stepper-button.mjs +7 -7
  167. package/esm2020/stepper/stepper-icon.mjs +4 -4
  168. package/esm2020/stepper/stepper-intl.mjs +4 -4
  169. package/esm2020/stepper/stepper-module.mjs +6 -10
  170. package/esm2020/stepper/stepper.mjs +39 -63
  171. package/esm2020/table/cell.mjs +22 -22
  172. package/esm2020/table/row.mjs +22 -22
  173. package/esm2020/table/table-module.mjs +5 -5
  174. package/esm2020/table/table.mjs +9 -9
  175. package/esm2020/table/text-column.mjs +4 -4
  176. package/esm2020/tabs/ink-bar.mjs +4 -4
  177. package/esm2020/tabs/paginated-tab-header.mjs +16 -10
  178. package/esm2020/tabs/tab-body.mjs +18 -12
  179. package/esm2020/tabs/tab-config.mjs +1 -1
  180. package/esm2020/tabs/tab-content.mjs +4 -4
  181. package/esm2020/tabs/tab-group.mjs +36 -9
  182. package/esm2020/tabs/tab-header.mjs +8 -8
  183. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  184. package/esm2020/tabs/tab-label.mjs +4 -4
  185. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +18 -18
  186. package/esm2020/tabs/tab.mjs +4 -4
  187. package/esm2020/tabs/tabs-animations.mjs +16 -6
  188. package/esm2020/tabs/tabs-module.mjs +5 -5
  189. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  190. package/esm2020/toolbar/toolbar.mjs +8 -8
  191. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  192. package/esm2020/tooltip/tooltip.mjs +14 -14
  193. package/esm2020/tree/node.mjs +10 -10
  194. package/esm2020/tree/outlet.mjs +4 -4
  195. package/esm2020/tree/padding.mjs +4 -4
  196. package/esm2020/tree/toggle.mjs +4 -4
  197. package/esm2020/tree/tree-module.mjs +5 -5
  198. package/esm2020/tree/tree.mjs +5 -5
  199. package/expansion/expansion-panel-base.d.ts +22 -0
  200. package/expansion/expansion-panel-content.d.ts +4 -2
  201. package/expansion/public-api.d.ts +1 -0
  202. package/fesm2015/autocomplete/testing.mjs +6 -0
  203. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  204. package/fesm2015/autocomplete.mjs +96 -56
  205. package/fesm2015/autocomplete.mjs.map +1 -1
  206. package/fesm2015/badge.mjs +7 -7
  207. package/fesm2015/badge.mjs.map +1 -1
  208. package/fesm2015/bottom-sheet.mjs +11 -11
  209. package/fesm2015/bottom-sheet.mjs.map +1 -1
  210. package/fesm2015/button-toggle.mjs +11 -11
  211. package/fesm2015/button-toggle.mjs.map +1 -1
  212. package/fesm2015/button.mjs +12 -12
  213. package/fesm2015/button.mjs.map +1 -1
  214. package/fesm2015/card.mjs +47 -47
  215. package/fesm2015/card.mjs.map +1 -1
  216. package/fesm2015/checkbox/testing.mjs +2 -1
  217. package/fesm2015/checkbox/testing.mjs.map +1 -1
  218. package/fesm2015/checkbox.mjs +15 -15
  219. package/fesm2015/checkbox.mjs.map +1 -1
  220. package/fesm2015/chips.mjs +57 -28
  221. package/fesm2015/chips.mjs.map +1 -1
  222. package/fesm2015/core.mjs +180 -122
  223. package/fesm2015/core.mjs.map +1 -1
  224. package/fesm2015/datepicker.mjs +219 -107
  225. package/fesm2015/datepicker.mjs.map +1 -1
  226. package/fesm2015/dialog.mjs +116 -75
  227. package/fesm2015/dialog.mjs.map +1 -1
  228. package/fesm2015/divider.mjs +8 -8
  229. package/fesm2015/divider.mjs.map +1 -1
  230. package/fesm2015/expansion.mjs +56 -33
  231. package/fesm2015/expansion.mjs.map +1 -1
  232. package/fesm2015/form-field/testing.mjs +1 -1
  233. package/fesm2015/form-field/testing.mjs.map +1 -1
  234. package/fesm2015/form-field.mjs +47 -38
  235. package/fesm2015/form-field.mjs.map +1 -1
  236. package/fesm2015/grid-list.mjs +25 -25
  237. package/fesm2015/grid-list.mjs.map +1 -1
  238. package/fesm2015/icon/testing.mjs +8 -8
  239. package/fesm2015/icon/testing.mjs.map +1 -1
  240. package/fesm2015/icon.mjs +45 -37
  241. package/fesm2015/icon.mjs.map +1 -1
  242. package/fesm2015/input.mjs +24 -11
  243. package/fesm2015/input.mjs.map +1 -1
  244. package/fesm2015/list/testing.mjs +0 -10
  245. package/fesm2015/list/testing.mjs.map +1 -1
  246. package/fesm2015/list.mjs +40 -66
  247. package/fesm2015/list.mjs.map +1 -1
  248. package/fesm2015/menu.mjs +82 -93
  249. package/fesm2015/menu.mjs.map +1 -1
  250. package/fesm2015/paginator.mjs +18 -14
  251. package/fesm2015/paginator.mjs.map +1 -1
  252. package/fesm2015/progress-bar.mjs +8 -8
  253. package/fesm2015/progress-bar.mjs.map +1 -1
  254. package/fesm2015/progress-spinner.mjs +11 -8
  255. package/fesm2015/progress-spinner.mjs.map +1 -1
  256. package/fesm2015/radio/testing.mjs +2 -1
  257. package/fesm2015/radio/testing.mjs.map +1 -1
  258. package/fesm2015/radio.mjs +17 -17
  259. package/fesm2015/radio.mjs.map +1 -1
  260. package/fesm2015/select.mjs +28 -16
  261. package/fesm2015/select.mjs.map +1 -1
  262. package/fesm2015/sidenav.mjs +26 -26
  263. package/fesm2015/sidenav.mjs.map +1 -1
  264. package/fesm2015/slide-toggle/testing.mjs +3 -1
  265. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  266. package/fesm2015/slide-toggle.mjs +15 -15
  267. package/fesm2015/slide-toggle.mjs.map +1 -1
  268. package/fesm2015/slider.mjs +8 -8
  269. package/fesm2015/slider.mjs.map +1 -1
  270. package/fesm2015/snack-bar.mjs +18 -18
  271. package/fesm2015/snack-bar.mjs.map +1 -1
  272. package/fesm2015/sort.mjs +127 -119
  273. package/fesm2015/sort.mjs.map +1 -1
  274. package/fesm2015/stepper.mjs +72 -93
  275. package/fesm2015/stepper.mjs.map +1 -1
  276. package/fesm2015/table.mjs +57 -57
  277. package/fesm2015/table.mjs.map +1 -1
  278. package/fesm2015/tabs.mjs +125 -76
  279. package/fesm2015/tabs.mjs.map +1 -1
  280. package/fesm2015/toolbar.mjs +11 -11
  281. package/fesm2015/toolbar.mjs.map +1 -1
  282. package/fesm2015/tooltip.mjs +17 -17
  283. package/fesm2015/tooltip.mjs.map +1 -1
  284. package/fesm2015/tree.mjs +26 -26
  285. package/fesm2015/tree.mjs.map +1 -1
  286. package/fesm2020/autocomplete/testing.mjs +6 -0
  287. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  288. package/fesm2020/autocomplete.mjs +95 -56
  289. package/fesm2020/autocomplete.mjs.map +1 -1
  290. package/fesm2020/badge.mjs +7 -7
  291. package/fesm2020/badge.mjs.map +1 -1
  292. package/fesm2020/bottom-sheet.mjs +11 -11
  293. package/fesm2020/bottom-sheet.mjs.map +1 -1
  294. package/fesm2020/button-toggle.mjs +11 -11
  295. package/fesm2020/button-toggle.mjs.map +1 -1
  296. package/fesm2020/button.mjs +12 -12
  297. package/fesm2020/button.mjs.map +1 -1
  298. package/fesm2020/card.mjs +47 -47
  299. package/fesm2020/card.mjs.map +1 -1
  300. package/fesm2020/checkbox/testing.mjs +2 -1
  301. package/fesm2020/checkbox/testing.mjs.map +1 -1
  302. package/fesm2020/checkbox.mjs +15 -15
  303. package/fesm2020/checkbox.mjs.map +1 -1
  304. package/fesm2020/chips.mjs +57 -28
  305. package/fesm2020/chips.mjs.map +1 -1
  306. package/fesm2020/core.mjs +179 -122
  307. package/fesm2020/core.mjs.map +1 -1
  308. package/fesm2020/datepicker.mjs +219 -107
  309. package/fesm2020/datepicker.mjs.map +1 -1
  310. package/fesm2020/dialog.mjs +115 -75
  311. package/fesm2020/dialog.mjs.map +1 -1
  312. package/fesm2020/divider.mjs +8 -8
  313. package/fesm2020/divider.mjs.map +1 -1
  314. package/fesm2020/expansion.mjs +54 -33
  315. package/fesm2020/expansion.mjs.map +1 -1
  316. package/fesm2020/form-field/testing.mjs +1 -1
  317. package/fesm2020/form-field/testing.mjs.map +1 -1
  318. package/fesm2020/form-field.mjs +46 -38
  319. package/fesm2020/form-field.mjs.map +1 -1
  320. package/fesm2020/grid-list.mjs +25 -25
  321. package/fesm2020/grid-list.mjs.map +1 -1
  322. package/fesm2020/icon/testing.mjs +8 -8
  323. package/fesm2020/icon/testing.mjs.map +1 -1
  324. package/fesm2020/icon.mjs +45 -37
  325. package/fesm2020/icon.mjs.map +1 -1
  326. package/fesm2020/input.mjs +23 -10
  327. package/fesm2020/input.mjs.map +1 -1
  328. package/fesm2020/list/testing.mjs +0 -8
  329. package/fesm2020/list/testing.mjs.map +1 -1
  330. package/fesm2020/list.mjs +37 -62
  331. package/fesm2020/list.mjs.map +1 -1
  332. package/fesm2020/menu.mjs +80 -93
  333. package/fesm2020/menu.mjs.map +1 -1
  334. package/fesm2020/paginator.mjs +18 -14
  335. package/fesm2020/paginator.mjs.map +1 -1
  336. package/fesm2020/progress-bar.mjs +8 -8
  337. package/fesm2020/progress-bar.mjs.map +1 -1
  338. package/fesm2020/progress-spinner.mjs +11 -8
  339. package/fesm2020/progress-spinner.mjs.map +1 -1
  340. package/fesm2020/radio/testing.mjs +2 -1
  341. package/fesm2020/radio/testing.mjs.map +1 -1
  342. package/fesm2020/radio.mjs +17 -17
  343. package/fesm2020/radio.mjs.map +1 -1
  344. package/fesm2020/select.mjs +28 -16
  345. package/fesm2020/select.mjs.map +1 -1
  346. package/fesm2020/sidenav.mjs +26 -26
  347. package/fesm2020/sidenav.mjs.map +1 -1
  348. package/fesm2020/slide-toggle/testing.mjs +3 -1
  349. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  350. package/fesm2020/slide-toggle.mjs +15 -15
  351. package/fesm2020/slide-toggle.mjs.map +1 -1
  352. package/fesm2020/slider.mjs +8 -8
  353. package/fesm2020/slider.mjs.map +1 -1
  354. package/fesm2020/snack-bar.mjs +18 -18
  355. package/fesm2020/snack-bar.mjs.map +1 -1
  356. package/fesm2020/sort.mjs +23 -15
  357. package/fesm2020/sort.mjs.map +1 -1
  358. package/fesm2020/stepper.mjs +72 -93
  359. package/fesm2020/stepper.mjs.map +1 -1
  360. package/fesm2020/table.mjs +57 -57
  361. package/fesm2020/table.mjs.map +1 -1
  362. package/fesm2020/tabs.mjs +125 -76
  363. package/fesm2020/tabs.mjs.map +1 -1
  364. package/fesm2020/toolbar.mjs +11 -11
  365. package/fesm2020/toolbar.mjs.map +1 -1
  366. package/fesm2020/tooltip.mjs +17 -17
  367. package/fesm2020/tooltip.mjs.map +1 -1
  368. package/fesm2020/tree.mjs +26 -26
  369. package/fesm2020/tree.mjs.map +1 -1
  370. package/form-field/form-field-control.d.ts +3 -3
  371. package/form-field/form-field.d.ts +15 -8
  372. package/form-field/testing/public-api.d.ts +1 -1
  373. package/icon/icon-registry.d.ts +7 -9
  374. package/icon/icon.d.ts +12 -3
  375. package/icon/testing/fake-icon-registry.d.ts +1 -1
  376. package/input/input.d.ts +11 -1
  377. package/list/selection-list.d.ts +4 -21
  378. package/list/testing/list-item-harness-base.d.ts +1 -7
  379. package/menu/menu-errors.d.ts +0 -5
  380. package/menu/menu-trigger.d.ts +14 -10
  381. package/package.json +7 -7
  382. package/paginator/paginator.d.ts +12 -1
  383. package/prebuilt-themes/deeppurple-amber.css +1 -1
  384. package/prebuilt-themes/indigo-pink.css +1 -1
  385. package/prebuilt-themes/pink-bluegrey.css +1 -1
  386. package/prebuilt-themes/purple-green.css +1 -1
  387. package/progress-spinner/progress-spinner.d.ts +3 -1
  388. package/radio/testing/radio-harness-filters.d.ts +2 -0
  389. package/schematics/migration.json +5 -0
  390. package/schematics/ng-add/fonts/material-fonts.js +4 -13
  391. package/schematics/ng-add/fonts/material-fonts.mjs +4 -13
  392. package/schematics/ng-add/index.js +2 -2
  393. package/schematics/ng-add/index.mjs +2 -2
  394. package/schematics/ng-add/schema.d.ts +2 -2
  395. package/schematics/ng-add/schema.js +1 -1
  396. package/schematics/ng-add/schema.json +12 -4
  397. package/schematics/ng-add/schema.mjs +1 -1
  398. package/schematics/ng-add/setup-project.js +16 -23
  399. package/schematics/ng-add/setup-project.mjs +16 -23
  400. package/schematics/ng-add/theming/theming.js +28 -39
  401. package/schematics/ng-add/theming/theming.mjs +28 -39
  402. package/schematics/ng-generate/address-form/index.js +5 -14
  403. package/schematics/ng-generate/address-form/index.mjs +5 -14
  404. package/schematics/ng-generate/dashboard/index.js +5 -14
  405. package/schematics/ng-generate/dashboard/index.mjs +5 -14
  406. package/schematics/ng-generate/navigation/index.js +5 -14
  407. package/schematics/ng-generate/navigation/index.mjs +5 -14
  408. package/schematics/ng-generate/table/index.js +5 -14
  409. package/schematics/ng-generate/table/index.mjs +5 -14
  410. package/schematics/ng-generate/tree/index.js +5 -14
  411. package/schematics/ng-generate/tree/index.mjs +5 -14
  412. package/schematics/ng-update/data/constructor-checks.js +11 -1
  413. package/schematics/ng-update/data/constructor-checks.mjs +11 -1
  414. package/schematics/ng-update/data/css-selectors.js +7 -1
  415. package/schematics/ng-update/data/css-selectors.mjs +7 -1
  416. package/schematics/ng-update/index.d.ts +2 -0
  417. package/schematics/ng-update/index.js +7 -2
  418. package/schematics/ng-update/index.mjs +7 -2
  419. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +4 -4
  420. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +4 -4
  421. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +14 -23
  422. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +14 -23
  423. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +3 -15
  424. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +3 -15
  425. package/schematics/ng-update/migrations/theming-api-v12/migration.js +5 -5
  426. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +5 -5
  427. package/select/select.d.ts +11 -0
  428. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +4 -0
  429. package/sort/sort-header.d.ts +4 -4
  430. package/sort/sort.d.ts +4 -0
  431. package/stepper/public-api.d.ts +1 -1
  432. package/stepper/stepper-animations.d.ts +2 -0
  433. package/stepper/stepper-module.d.ts +1 -1
  434. package/stepper/stepper.d.ts +15 -38
  435. package/tabs/_tabs-common.scss +6 -5
  436. package/tabs/paginated-tab-header.d.ts +4 -2
  437. package/tabs/tab-body.d.ts +3 -1
  438. package/tabs/tab-config.d.ts +6 -0
  439. package/tabs/tab-group.d.ts +12 -2
package/fesm2015/core.mjs CHANGED
@@ -9,7 +9,7 @@ import { _isTestEnvironment, normalizePassiveListenerOptions } from '@angular/cd
9
9
  import * as i1 from '@angular/cdk/a11y';
10
10
  import { isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader } from '@angular/cdk/a11y';
11
11
  import { coerceBooleanProperty, coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';
12
- import { Subject, Observable } from 'rxjs';
12
+ import { Observable, Subject } from 'rxjs';
13
13
  import { startWith } from 'rxjs/operators';
14
14
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
15
15
  import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
@@ -22,7 +22,7 @@ import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
22
22
  * found in the LICENSE file at https://angular.io/license
23
23
  */
24
24
  /** Current version of Angular Material. */
25
- const VERSION = new Version('13.3.3');
25
+ const VERSION = new Version('14.0.0-next.10');
26
26
 
27
27
  /**
28
28
  * @license
@@ -95,10 +95,10 @@ class MatCommonModule {
95
95
  return !!this._sanityChecks[name];
96
96
  }
97
97
  }
98
- MatCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatCommonModule, deps: [{ token: i1.HighContrastModeDetector }, { token: MATERIAL_SANITY_CHECKS, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.NgModule });
99
- MatCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatCommonModule, imports: [BidiModule], exports: [BidiModule] });
100
- MatCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatCommonModule, imports: [[BidiModule], BidiModule] });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatCommonModule, decorators: [{
98
+ MatCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatCommonModule, deps: [{ token: i1.HighContrastModeDetector }, { token: MATERIAL_SANITY_CHECKS, optional: true }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.NgModule });
99
+ MatCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatCommonModule, imports: [BidiModule], exports: [BidiModule] });
100
+ MatCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatCommonModule, imports: [[BidiModule], BidiModule] });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatCommonModule, decorators: [{
102
102
  type: NgModule,
103
103
  args: [{
104
104
  imports: [BidiModule],
@@ -269,12 +269,6 @@ function mixinErrorState(base) {
269
269
  return class extends base {
270
270
  constructor(...args) {
271
271
  super(...args);
272
- // This class member exists as an interop with `MatFormFieldControl` which expects
273
- // a public `stateChanges` observable to emit whenever the form field should be updated.
274
- // The description is not specifically mentioning the error state, as classes using this
275
- // mixin can/should emit an event in other cases too.
276
- /** Emits whenever the component state changes. */
277
- this.stateChanges = new Subject();
278
272
  /** Whether the component is in an error state. */
279
273
  this.errorState = false;
280
274
  }
@@ -669,9 +663,9 @@ class NativeDateAdapter extends DateAdapter {
669
663
  return dtf.format(d);
670
664
  }
671
665
  }
672
- NativeDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
673
- NativeDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateAdapter });
674
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateAdapter, decorators: [{
666
+ NativeDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1$1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
667
+ NativeDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateAdapter });
668
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateAdapter, decorators: [{
675
669
  type: Injectable
676
670
  }], ctorParameters: function () {
677
671
  return [{ type: undefined, decorators: [{
@@ -710,10 +704,10 @@ const MAT_NATIVE_DATE_FORMATS = {
710
704
  */
711
705
  class NativeDateModule {
712
706
  }
713
- NativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
714
- NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateModule });
715
- NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }] });
716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateModule, decorators: [{
707
+ NativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
708
+ NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateModule });
709
+ NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }] });
710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateModule, decorators: [{
717
711
  type: NgModule,
718
712
  args: [{
719
713
  providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }],
@@ -721,10 +715,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
721
715
  }] });
722
716
  class MatNativeDateModule {
723
717
  }
724
- MatNativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
725
- MatNativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNativeDateModule, imports: [NativeDateModule] });
726
- MatNativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNativeDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_NATIVE_DATE_FORMATS }], imports: [[NativeDateModule]] });
727
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNativeDateModule, decorators: [{
718
+ MatNativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
719
+ MatNativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatNativeDateModule, imports: [NativeDateModule] });
720
+ MatNativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatNativeDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_NATIVE_DATE_FORMATS }], imports: [[NativeDateModule]] });
721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatNativeDateModule, decorators: [{
728
722
  type: NgModule,
729
723
  args: [{
730
724
  imports: [NativeDateModule],
@@ -745,9 +739,9 @@ class ShowOnDirtyErrorStateMatcher {
745
739
  return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
746
740
  }
747
741
  }
748
- ShowOnDirtyErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
749
- ShowOnDirtyErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
750
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
742
+ ShowOnDirtyErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
743
+ ShowOnDirtyErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
751
745
  type: Injectable
752
746
  }] });
753
747
  /** Provider that defines how form controls behave with regards to displaying error messages. */
@@ -756,9 +750,9 @@ class ErrorStateMatcher {
756
750
  return !!(control && control.invalid && (control.touched || (form && form.submitted)));
757
751
  }
758
752
  }
759
- ErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
760
- ErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
761
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ErrorStateMatcher, decorators: [{
753
+ ErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
754
+ ErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ErrorStateMatcher, decorators: [{
762
756
  type: Injectable,
763
757
  args: [{ providedIn: 'root' }]
764
758
  }] });
@@ -777,9 +771,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
777
771
  */
778
772
  class MatLine {
779
773
  }
780
- MatLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
781
- MatLine.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatLine, selector: "[mat-line], [matLine]", host: { classAttribute: "mat-line" }, ngImport: i0 });
782
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLine, decorators: [{
774
+ MatLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
775
+ MatLine.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: MatLine, selector: "[mat-line], [matLine]", host: { classAttribute: "mat-line" }, ngImport: i0 });
776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLine, decorators: [{
783
777
  type: Directive,
784
778
  args: [{
785
779
  selector: '[mat-line], [matLine]',
@@ -811,10 +805,10 @@ function setClass(element, className, isAdd) {
811
805
  }
812
806
  class MatLineModule {
813
807
  }
814
- MatLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
815
- MatLineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLineModule, declarations: [MatLine], imports: [MatCommonModule], exports: [MatLine, MatCommonModule] });
816
- MatLineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLineModule, imports: [[MatCommonModule], MatCommonModule] });
817
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLineModule, decorators: [{
808
+ MatLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
809
+ MatLineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLineModule, declarations: [MatLine], imports: [MatCommonModule], exports: [MatLine, MatCommonModule] });
810
+ MatLineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLineModule, imports: [[MatCommonModule], MatCommonModule] });
811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLineModule, decorators: [{
818
812
  type: NgModule,
819
813
  args: [{
820
814
  imports: [MatCommonModule],
@@ -838,10 +832,13 @@ class RippleRef {
838
832
  /** Reference to the ripple HTML element. */
839
833
  element,
840
834
  /** Ripple configuration used for the ripple. */
841
- config) {
835
+ config,
836
+ /* Whether animations are forcibly disabled for ripples through CSS. */
837
+ _animationForciblyDisabledThroughCss = false) {
842
838
  this._renderer = _renderer;
843
839
  this.element = element;
844
840
  this.config = config;
841
+ this._animationForciblyDisabledThroughCss = _animationForciblyDisabledThroughCss;
845
842
  /** Current state of the ripple. */
846
843
  this.state = 3 /* HIDDEN */;
847
844
  }
@@ -884,8 +881,13 @@ class RippleRenderer {
884
881
  this._ngZone = _ngZone;
885
882
  /** Whether the pointer is currently down or not. */
886
883
  this._isPointerDown = false;
887
- /** Set of currently active ripple references. */
888
- this._activeRipples = new Set();
884
+ /**
885
+ * Map of currently active ripple references.
886
+ * The ripple reference is mapped to its element event listeners.
887
+ * The reason why `| null` is used is that event listeners are added only
888
+ * when the condition is truthy (see the `_startFadeOutTransition` method).
889
+ */
890
+ this._activeRipples = new Map();
889
891
  /** Whether pointer-up event listeners have been registered. */
890
892
  this._pointerUpEventsRegistered = false;
891
893
  // Only do anything if we're on the browser.
@@ -910,7 +912,7 @@ class RippleRenderer {
910
912
  const radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
911
913
  const offsetX = x - containerRect.left;
912
914
  const offsetY = y - containerRect.top;
913
- const duration = animationConfig.enterDuration;
915
+ const enterDuration = animationConfig.enterDuration;
914
916
  const ripple = document.createElement('div');
915
917
  ripple.classList.add('mat-ripple-element');
916
918
  ripple.style.left = `${offsetX - radius}px`;
@@ -922,67 +924,85 @@ class RippleRenderer {
922
924
  if (config.color != null) {
923
925
  ripple.style.backgroundColor = config.color;
924
926
  }
925
- ripple.style.transitionDuration = `${duration}ms`;
927
+ ripple.style.transitionDuration = `${enterDuration}ms`;
926
928
  this._containerElement.appendChild(ripple);
927
929
  // By default the browser does not recalculate the styles of dynamically created
928
- // ripple elements. This is critical because then the `scale` would not animate properly.
929
- enforceStyleRecalculation(ripple);
930
- ripple.style.transform = 'scale(1)';
930
+ // ripple elements. This is critical to ensure that the `scale` animates properly.
931
+ // We enforce a style recalculation by calling `getComputedStyle` and *accessing* a property.
932
+ // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
933
+ const computedStyles = window.getComputedStyle(ripple);
934
+ const userTransitionProperty = computedStyles.transitionProperty;
935
+ const userTransitionDuration = computedStyles.transitionDuration;
936
+ // Note: We detect whether animation is forcibly disabled through CSS by the use of
937
+ // `transition: none`. This is technically unexpected since animations are controlled
938
+ // through the animation config, but this exists for backwards compatibility. This logic does
939
+ // not need to be super accurate since it covers some edge cases which can be easily avoided by users.
940
+ const animationForciblyDisabledThroughCss = userTransitionProperty === 'none' ||
941
+ // Note: The canonical unit for serialized CSS `<time>` properties is seconds. Additionally
942
+ // some browsers expand the duration for every property (in our case `opacity` and `transform`).
943
+ userTransitionDuration === '0s' ||
944
+ userTransitionDuration === '0s, 0s';
931
945
  // Exposed reference to the ripple that will be returned.
932
- const rippleRef = new RippleRef(this, ripple, config);
946
+ const rippleRef = new RippleRef(this, ripple, config, animationForciblyDisabledThroughCss);
947
+ // Start the enter animation by setting the transform/scale to 100%. The animation will
948
+ // execute as part of this statement because we forced a style recalculation before.
949
+ // Note: We use a 3d transform here in order to avoid an issue in Safari where
950
+ // the ripples aren't clipped when inside the shadow DOM (see #24028).
951
+ ripple.style.transform = 'scale3d(1, 1, 1)';
933
952
  rippleRef.state = 0 /* FADING_IN */;
934
- // Add the ripple reference to the list of all active ripples.
935
- this._activeRipples.add(rippleRef);
936
953
  if (!config.persistent) {
937
954
  this._mostRecentTransientRipple = rippleRef;
938
955
  }
939
- // Wait for the ripple element to be completely faded in.
940
- // Once it's faded in, the ripple can be hidden immediately if the mouse is released.
941
- this._runTimeoutOutsideZone(() => {
942
- const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
943
- rippleRef.state = 1 /* VISIBLE */;
944
- // When the timer runs out while the user has kept their pointer down, we want to
945
- // keep only the persistent ripples and the latest transient ripple. We do this,
946
- // because we don't want stacked transient ripples to appear after their enter
947
- // animation has finished.
948
- if (!config.persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
949
- rippleRef.fadeOut();
950
- }
951
- }, duration);
956
+ let eventListeners = null;
957
+ // Do not register the `transition` event listener if fade-in and fade-out duration
958
+ // are set to zero. The events won't fire anyway and we can save resources here.
959
+ if (!animationForciblyDisabledThroughCss && (enterDuration || animationConfig.exitDuration)) {
960
+ this._ngZone.runOutsideAngular(() => {
961
+ const onTransitionEnd = () => this._finishRippleTransition(rippleRef);
962
+ const onTransitionCancel = () => this._destroyRipple(rippleRef);
963
+ ripple.addEventListener('transitionend', onTransitionEnd);
964
+ // If the transition is cancelled (e.g. due to DOM removal), we destroy the ripple
965
+ // directly as otherwise we would keep it part of the ripple container forever.
966
+ // https://www.w3.org/TR/css-transitions-1/#:~:text=no%20longer%20in%20the%20document.
967
+ ripple.addEventListener('transitioncancel', onTransitionCancel);
968
+ eventListeners = { onTransitionEnd, onTransitionCancel };
969
+ });
970
+ }
971
+ // Add the ripple reference to the list of all active ripples.
972
+ this._activeRipples.set(rippleRef, eventListeners);
973
+ // In case there is no fade-in transition duration, we need to manually call the transition
974
+ // end listener because `transitionend` doesn't fire if there is no transition.
975
+ if (animationForciblyDisabledThroughCss || !enterDuration) {
976
+ this._finishRippleTransition(rippleRef);
977
+ }
952
978
  return rippleRef;
953
979
  }
954
980
  /** Fades out a ripple reference. */
955
981
  fadeOutRipple(rippleRef) {
956
- const wasActive = this._activeRipples.delete(rippleRef);
957
- if (rippleRef === this._mostRecentTransientRipple) {
958
- this._mostRecentTransientRipple = null;
959
- }
960
- // Clear out the cached bounding rect if we have no more ripples.
961
- if (!this._activeRipples.size) {
962
- this._containerRect = null;
963
- }
964
- // For ripples that are not active anymore, don't re-run the fade-out animation.
965
- if (!wasActive) {
982
+ // For ripples already fading out or hidden, this should be a noop.
983
+ if (rippleRef.state === 2 /* FADING_OUT */ || rippleRef.state === 3 /* HIDDEN */) {
966
984
  return;
967
985
  }
968
986
  const rippleEl = rippleRef.element;
969
987
  const animationConfig = Object.assign(Object.assign({}, defaultRippleAnimationConfig), rippleRef.config.animation);
988
+ // This starts the fade-out transition and will fire the transition end listener that
989
+ // removes the ripple element from the DOM.
970
990
  rippleEl.style.transitionDuration = `${animationConfig.exitDuration}ms`;
971
991
  rippleEl.style.opacity = '0';
972
992
  rippleRef.state = 2 /* FADING_OUT */;
973
- // Once the ripple faded out, the ripple can be safely removed from the DOM.
974
- this._runTimeoutOutsideZone(() => {
975
- rippleRef.state = 3 /* HIDDEN */;
976
- rippleEl.remove();
977
- }, animationConfig.exitDuration);
993
+ // In case there is no fade-out transition duration, we need to manually call the
994
+ // transition end listener because `transitionend` doesn't fire if there is no transition.
995
+ if (rippleRef._animationForciblyDisabledThroughCss || !animationConfig.exitDuration) {
996
+ this._finishRippleTransition(rippleRef);
997
+ }
978
998
  }
979
999
  /** Fades out all currently active ripples. */
980
1000
  fadeOutAll() {
981
- this._activeRipples.forEach(ripple => ripple.fadeOut());
1001
+ this._getActiveRipples().forEach(ripple => ripple.fadeOut());
982
1002
  }
983
1003
  /** Fades out all currently active non-persistent ripples. */
984
1004
  fadeOutAllNonPersistent() {
985
- this._activeRipples.forEach(ripple => {
1005
+ this._getActiveRipples().forEach(ripple => {
986
1006
  if (!ripple.config.persistent) {
987
1007
  ripple.fadeOut();
988
1008
  }
@@ -1021,6 +1041,52 @@ class RippleRenderer {
1021
1041
  this._pointerUpEventsRegistered = true;
1022
1042
  }
1023
1043
  }
1044
+ /** Method that will be called if the fade-in or fade-in transition completed. */
1045
+ _finishRippleTransition(rippleRef) {
1046
+ if (rippleRef.state === 0 /* FADING_IN */) {
1047
+ this._startFadeOutTransition(rippleRef);
1048
+ }
1049
+ else if (rippleRef.state === 2 /* FADING_OUT */) {
1050
+ this._destroyRipple(rippleRef);
1051
+ }
1052
+ }
1053
+ /**
1054
+ * Starts the fade-out transition of the given ripple if it's not persistent and the pointer
1055
+ * is not held down anymore.
1056
+ */
1057
+ _startFadeOutTransition(rippleRef) {
1058
+ const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
1059
+ const { persistent } = rippleRef.config;
1060
+ rippleRef.state = 1 /* VISIBLE */;
1061
+ // When the timer runs out while the user has kept their pointer down, we want to
1062
+ // keep only the persistent ripples and the latest transient ripple. We do this,
1063
+ // because we don't want stacked transient ripples to appear after their enter
1064
+ // animation has finished.
1065
+ if (!persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
1066
+ rippleRef.fadeOut();
1067
+ }
1068
+ }
1069
+ /** Destroys the given ripple by removing it from the DOM and updating its state. */
1070
+ _destroyRipple(rippleRef) {
1071
+ var _a;
1072
+ const eventListeners = (_a = this._activeRipples.get(rippleRef)) !== null && _a !== void 0 ? _a : null;
1073
+ this._activeRipples.delete(rippleRef);
1074
+ // Clear out the cached bounding rect if we have no more ripples.
1075
+ if (!this._activeRipples.size) {
1076
+ this._containerRect = null;
1077
+ }
1078
+ // If the current ref is the most recent transient ripple, unset it
1079
+ // avoid memory leaks.
1080
+ if (rippleRef === this._mostRecentTransientRipple) {
1081
+ this._mostRecentTransientRipple = null;
1082
+ }
1083
+ rippleRef.state = 3 /* HIDDEN */;
1084
+ if (eventListeners !== null) {
1085
+ rippleRef.element.removeEventListener('transitionend', eventListeners.onTransitionEnd);
1086
+ rippleRef.element.removeEventListener('transitioncancel', eventListeners.onTransitionCancel);
1087
+ }
1088
+ rippleRef.element.remove();
1089
+ }
1024
1090
  /** Function being called whenever the trigger is being pressed using mouse. */
1025
1091
  _onMousedown(event) {
1026
1092
  // Screen readers will fire fake mouse events for space/enter. Skip launching a
@@ -1056,7 +1122,7 @@ class RippleRenderer {
1056
1122
  }
1057
1123
  this._isPointerDown = false;
1058
1124
  // Fade-out all ripples that are visible and not persistent.
1059
- this._activeRipples.forEach(ripple => {
1125
+ this._getActiveRipples().forEach(ripple => {
1060
1126
  // By default, only ripples that are completely visible will fade out on pointer release.
1061
1127
  // If the `terminateOnPointerUp` option is set, ripples that still fade in will also fade out.
1062
1128
  const isVisible = ripple.state === 1 /* VISIBLE */ ||
@@ -1066,10 +1132,6 @@ class RippleRenderer {
1066
1132
  }
1067
1133
  });
1068
1134
  }
1069
- /** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */
1070
- _runTimeoutOutsideZone(fn, delay = 0) {
1071
- this._ngZone.runOutsideAngular(() => setTimeout(fn, delay));
1072
- }
1073
1135
  /** Registers event listeners for a given list of events. */
1074
1136
  _registerEvents(eventTypes) {
1075
1137
  this._ngZone.runOutsideAngular(() => {
@@ -1078,6 +1140,9 @@ class RippleRenderer {
1078
1140
  });
1079
1141
  });
1080
1142
  }
1143
+ _getActiveRipples() {
1144
+ return Array.from(this._activeRipples.keys());
1145
+ }
1081
1146
  /** Removes previously registered event listeners from the trigger element. */
1082
1147
  _removeTriggerEvents() {
1083
1148
  if (this._triggerElement) {
@@ -1092,13 +1157,6 @@ class RippleRenderer {
1092
1157
  }
1093
1158
  }
1094
1159
  }
1095
- /** Enforces a style recalculation of a DOM element by computing its styles. */
1096
- function enforceStyleRecalculation(element) {
1097
- // Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
1098
- // Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
1099
- // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
1100
- window.getComputedStyle(element).getPropertyValue('opacity');
1101
- }
1102
1160
  /**
1103
1161
  * Returns the distance from the point (x, y) to the furthest corner of a rectangle.
1104
1162
  */
@@ -1202,9 +1260,9 @@ class MatRipple {
1202
1260
  }
1203
1261
  }
1204
1262
  }
1205
- MatRipple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRipple, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.Platform }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1206
- MatRipple.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: { color: ["matRippleColor", "color"], unbounded: ["matRippleUnbounded", "unbounded"], centered: ["matRippleCentered", "centered"], radius: ["matRippleRadius", "radius"], animation: ["matRippleAnimation", "animation"], disabled: ["matRippleDisabled", "disabled"], trigger: ["matRippleTrigger", "trigger"] }, host: { properties: { "class.mat-ripple-unbounded": "unbounded" }, classAttribute: "mat-ripple" }, exportAs: ["matRipple"], ngImport: i0 });
1207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRipple, decorators: [{
1263
+ MatRipple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRipple, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1$1.Platform }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1264
+ MatRipple.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: { color: ["matRippleColor", "color"], unbounded: ["matRippleUnbounded", "unbounded"], centered: ["matRippleCentered", "centered"], radius: ["matRippleRadius", "radius"], animation: ["matRippleAnimation", "animation"], disabled: ["matRippleDisabled", "disabled"], trigger: ["matRippleTrigger", "trigger"] }, host: { properties: { "class.mat-ripple-unbounded": "unbounded" }, classAttribute: "mat-ripple" }, exportAs: ["matRipple"], ngImport: i0 });
1265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRipple, decorators: [{
1208
1266
  type: Directive,
1209
1267
  args: [{
1210
1268
  selector: '[mat-ripple], [matRipple]',
@@ -1258,10 +1316,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1258
1316
  */
1259
1317
  class MatRippleModule {
1260
1318
  }
1261
- MatRippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1262
- MatRippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRippleModule, declarations: [MatRipple], imports: [MatCommonModule], exports: [MatRipple, MatCommonModule] });
1263
- MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule], MatCommonModule] });
1264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRippleModule, decorators: [{
1319
+ MatRippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1320
+ MatRippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRippleModule, declarations: [MatRipple], imports: [MatCommonModule], exports: [MatRipple, MatCommonModule] });
1321
+ MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule], MatCommonModule] });
1322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRippleModule, decorators: [{
1265
1323
  type: NgModule,
1266
1324
  args: [{
1267
1325
  imports: [MatCommonModule],
@@ -1299,9 +1357,9 @@ class MatPseudoCheckbox {
1299
1357
  this.disabled = false;
1300
1358
  }
1301
1359
  }
1302
- MatPseudoCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckbox, deps: [{ token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1303
- MatPseudoCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: MatPseudoCheckbox, selector: "mat-pseudo-checkbox", inputs: { state: "state", disabled: "disabled" }, host: { properties: { "class.mat-pseudo-checkbox-indeterminate": "state === \"indeterminate\"", "class.mat-pseudo-checkbox-checked": "state === \"checked\"", "class.mat-pseudo-checkbox-disabled": "disabled", "class._mat-animation-noopable": "_animationMode === \"NoopAnimations\"" }, classAttribute: "mat-pseudo-checkbox" }, ngImport: i0, template: '', isInline: true, styles: [".mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1304
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckbox, decorators: [{
1360
+ MatPseudoCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckbox, deps: [{ token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1361
+ MatPseudoCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.9", type: MatPseudoCheckbox, selector: "mat-pseudo-checkbox", inputs: { state: "state", disabled: "disabled" }, host: { properties: { "class.mat-pseudo-checkbox-indeterminate": "state === \"indeterminate\"", "class.mat-pseudo-checkbox-checked": "state === \"checked\"", "class.mat-pseudo-checkbox-disabled": "disabled", "class._mat-animation-noopable": "_animationMode === \"NoopAnimations\"" }, classAttribute: "mat-pseudo-checkbox" }, ngImport: i0, template: '', isInline: true, styles: [".mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:rgba(0,0,0,0)}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckbox, decorators: [{
1305
1363
  type: Component,
1306
1364
  args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'mat-pseudo-checkbox', template: '', host: {
1307
1365
  'class': 'mat-pseudo-checkbox',
@@ -1309,7 +1367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1309
1367
  '[class.mat-pseudo-checkbox-checked]': 'state === "checked"',
1310
1368
  '[class.mat-pseudo-checkbox-disabled]': 'disabled',
1311
1369
  '[class._mat-animation-noopable]': '_animationMode === "NoopAnimations"',
1312
- }, styles: [".mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:transparent}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}\n"] }]
1370
+ }, styles: [".mat-pseudo-checkbox{width:16px;height:16px;border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:\"\";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:rgba(0,0,0,0)}._mat-animation-noopable.mat-pseudo-checkbox{transition:none;animation:none}._mat-animation-noopable.mat-pseudo-checkbox::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{top:5px;left:1px;width:10px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{top:2.4px;left:1px;width:8px;height:3px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}"] }]
1313
1371
  }], ctorParameters: function () {
1314
1372
  return [{ type: undefined, decorators: [{
1315
1373
  type: Optional
@@ -1332,10 +1390,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1332
1390
  */
1333
1391
  class MatPseudoCheckboxModule {
1334
1392
  }
1335
- MatPseudoCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1336
- MatPseudoCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckboxModule, declarations: [MatPseudoCheckbox], imports: [MatCommonModule], exports: [MatPseudoCheckbox] });
1337
- MatPseudoCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckboxModule, imports: [[MatCommonModule]] });
1338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckboxModule, decorators: [{
1393
+ MatPseudoCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1394
+ MatPseudoCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckboxModule, declarations: [MatPseudoCheckbox], imports: [MatCommonModule], exports: [MatPseudoCheckbox] });
1395
+ MatPseudoCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckboxModule, imports: [[MatCommonModule]] });
1396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckboxModule, decorators: [{
1339
1397
  type: NgModule,
1340
1398
  args: [{
1341
1399
  imports: [MatCommonModule],
@@ -1405,9 +1463,9 @@ class _MatOptgroupBase extends _MatOptgroupMixinBase {
1405
1463
  this._inert = (_a = parent === null || parent === void 0 ? void 0 : parent.inertGroups) !== null && _a !== void 0 ? _a : false;
1406
1464
  }
1407
1465
  }
1408
- _MatOptgroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatOptgroupBase, deps: [{ token: MAT_OPTION_PARENT_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1409
- _MatOptgroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: _MatOptgroupBase, inputs: { label: "label" }, usesInheritance: true, ngImport: i0 });
1410
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatOptgroupBase, decorators: [{
1466
+ _MatOptgroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: _MatOptgroupBase, deps: [{ token: MAT_OPTION_PARENT_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1467
+ _MatOptgroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: _MatOptgroupBase, inputs: { label: "label" }, usesInheritance: true, ngImport: i0 });
1468
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: _MatOptgroupBase, decorators: [{
1411
1469
  type: Directive
1412
1470
  }], ctorParameters: function () {
1413
1471
  return [{ type: undefined, decorators: [{
@@ -1430,9 +1488,9 @@ const MAT_OPTGROUP = new InjectionToken('MatOptgroup');
1430
1488
  */
1431
1489
  class MatOptgroup extends _MatOptgroupBase {
1432
1490
  }
1433
- MatOptgroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
1434
- MatOptgroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: MatOptgroup, selector: "mat-optgroup", inputs: { disabled: "disabled" }, host: { properties: { "attr.role": "_inert ? null : \"group\"", "attr.aria-disabled": "_inert ? null : disabled.toString()", "attr.aria-labelledby": "_inert ? null : _labelId", "class.mat-optgroup-disabled": "disabled" }, classAttribute: "mat-optgroup" }, providers: [{ provide: MAT_OPTGROUP, useExisting: MatOptgroup }], exportAs: ["matOptgroup"], usesInheritance: true, ngImport: i0, template: "<span class=\"mat-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></span>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n", styles: [".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1435
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptgroup, decorators: [{
1491
+ MatOptgroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
1492
+ MatOptgroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.9", type: MatOptgroup, selector: "mat-optgroup", inputs: { disabled: "disabled" }, host: { properties: { "attr.role": "_inert ? null : \"group\"", "attr.aria-disabled": "_inert ? null : disabled.toString()", "attr.aria-labelledby": "_inert ? null : _labelId", "class.mat-optgroup-disabled": "disabled" }, classAttribute: "mat-optgroup" }, providers: [{ provide: MAT_OPTGROUP, useExisting: MatOptgroup }], exportAs: ["matOptgroup"], usesInheritance: true, ngImport: i0, template: "<span class=\"mat-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></span>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n", styles: [".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1493
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptgroup, decorators: [{
1436
1494
  type: Component,
1437
1495
  args: [{ selector: 'mat-optgroup', exportAs: 'matOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], host: {
1438
1496
  'class': 'mat-optgroup',
@@ -1440,7 +1498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1440
1498
  '[attr.aria-disabled]': '_inert ? null : disabled.toString()',
1441
1499
  '[attr.aria-labelledby]': '_inert ? null : _labelId',
1442
1500
  '[class.mat-optgroup-disabled]': 'disabled',
1443
- }, providers: [{ provide: MAT_OPTGROUP, useExisting: MatOptgroup }], template: "<span class=\"mat-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></span>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n", styles: [".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}\n"] }]
1501
+ }, providers: [{ provide: MAT_OPTGROUP, useExisting: MatOptgroup }], template: "<span class=\"mat-optgroup-label\" aria-hidden=\"true\" [id]=\"_labelId\">{{ label }} <ng-content></ng-content></span>\n<ng-content select=\"mat-option, ng-container\"></ng-content>\n", styles: [".mat-optgroup-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup-label[disabled]{cursor:default}[dir=rtl] .mat-optgroup-label{text-align:right}.mat-optgroup-label .mat-icon{margin-right:16px;vertical-align:middle}.mat-optgroup-label .mat-icon svg{vertical-align:top}[dir=rtl] .mat-optgroup-label .mat-icon{margin-left:16px;margin-right:0}"] }]
1444
1502
  }] });
1445
1503
 
1446
1504
  /**
@@ -1629,9 +1687,9 @@ class _MatOptionBase {
1629
1687
  this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
1630
1688
  }
1631
1689
  }
1632
- _MatOptionBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatOptionBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1633
- _MatOptionBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: _MatOptionBase, inputs: { value: "value", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, ngImport: i0 });
1634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatOptionBase, decorators: [{
1690
+ _MatOptionBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: _MatOptionBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1691
+ _MatOptionBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: _MatOptionBase, inputs: { value: "value", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, ngImport: i0 });
1692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: _MatOptionBase, decorators: [{
1635
1693
  type: Directive
1636
1694
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined }, { type: _MatOptgroupBase }]; }, propDecorators: { value: [{
1637
1695
  type: Input
@@ -1650,9 +1708,9 @@ class MatOption extends _MatOptionBase {
1650
1708
  super(element, changeDetectorRef, parent, group);
1651
1709
  }
1652
1710
  }
1653
- MatOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_OPTION_PARENT_COMPONENT, optional: true }, { token: MAT_OPTGROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1654
- MatOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.0", type: MatOption, selector: "mat-option", host: { attributes: { "role": "option" }, listeners: { "click": "_selectViaInteraction()", "keydown": "_handleKeydown($event)" }, properties: { "attr.tabindex": "_getTabIndex()", "class.mat-selected": "selected", "class.mat-option-multiple": "multiple", "class.mat-active": "active", "id": "id", "attr.aria-selected": "_getAriaSelected()", "attr.aria-disabled": "disabled.toString()", "class.mat-option-disabled": "disabled" }, classAttribute: "mat-option mat-focus-indicator" }, exportAs: ["matOption"], usesInheritance: true, ngImport: i0, template: "<mat-pseudo-checkbox *ngIf=\"multiple\" class=\"mat-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n<span class=\"mat-option-text\"><ng-content></ng-content></span>\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._inert\">({{ group.label }})</span>\n\n<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n", styles: [".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"], components: [{ type: MatPseudoCheckbox, selector: "mat-pseudo-checkbox", inputs: ["state", "disabled"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1655
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOption, decorators: [{
1711
+ MatOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOption, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: MAT_OPTION_PARENT_COMPONENT, optional: true }, { token: MAT_OPTGROUP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1712
+ MatOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.9", type: MatOption, selector: "mat-option", host: { attributes: { "role": "option" }, listeners: { "click": "_selectViaInteraction()", "keydown": "_handleKeydown($event)" }, properties: { "attr.tabindex": "_getTabIndex()", "class.mat-selected": "selected", "class.mat-option-multiple": "multiple", "class.mat-active": "active", "id": "id", "attr.aria-selected": "_getAriaSelected()", "attr.aria-disabled": "disabled.toString()", "class.mat-option-disabled": "disabled" }, classAttribute: "mat-option mat-focus-indicator" }, exportAs: ["matOption"], usesInheritance: true, ngImport: i0, template: "<mat-pseudo-checkbox *ngIf=\"multiple\" class=\"mat-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n<span class=\"mat-option-text\"><ng-content></ng-content></span>\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._inert\">({{ group.label }})</span>\n\n<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n", styles: [".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"], components: [{ type: MatPseudoCheckbox, selector: "mat-pseudo-checkbox", inputs: ["state", "disabled"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1713
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOption, decorators: [{
1656
1714
  type: Component,
1657
1715
  args: [{ selector: 'mat-option', exportAs: 'matOption', host: {
1658
1716
  'role': 'option',
@@ -1667,7 +1725,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1667
1725
  '(click)': '_selectViaInteraction()',
1668
1726
  '(keydown)': '_handleKeydown($event)',
1669
1727
  'class': 'mat-option mat-focus-indicator',
1670
- }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-pseudo-checkbox *ngIf=\"multiple\" class=\"mat-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n<span class=\"mat-option-text\"><ng-content></ng-content></span>\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._inert\">({{ group.label }})</span>\n\n<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n", styles: [".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:transparent}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}\n"] }]
1728
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-pseudo-checkbox *ngIf=\"multiple\" class=\"mat-option-pseudo-checkbox\"\n [state]=\"selected ? 'checked' : 'unchecked'\" [disabled]=\"disabled\"></mat-pseudo-checkbox>\n\n<span class=\"mat-option-text\"><ng-content></ng-content></span>\n\n<!-- See a11y notes inside optgroup.ts for context behind this element. -->\n<span class=\"cdk-visually-hidden\" *ngIf=\"group && group._inert\">({{ group.label }})</span>\n\n<div class=\"mat-option-ripple\" mat-ripple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disabled || disableRipple\">\n</div>\n", styles: [".mat-option{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative;cursor:pointer;outline:none;display:flex;flex-direction:row;max-width:100%;box-sizing:border-box;align-items:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-option[disabled]{cursor:default}[dir=rtl] .mat-option{text-align:right}.mat-option .mat-icon{margin-right:16px;vertical-align:middle}.mat-option .mat-icon svg{vertical-align:top}[dir=rtl] .mat-option .mat-icon{margin-left:16px;margin-right:0}.mat-option[aria-disabled=true]{-webkit-user-select:none;user-select:none;cursor:default}.mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:32px}[dir=rtl] .mat-optgroup .mat-option:not(.mat-option-multiple){padding-left:16px;padding-right:32px}.cdk-high-contrast-active .mat-option{margin:0 1px}.cdk-high-contrast-active .mat-option.mat-active{border:solid 1px currentColor;margin:0}.cdk-high-contrast-active .mat-option[aria-disabled=true]{opacity:.5}.mat-option-text{display:inline-block;flex-grow:1;overflow:hidden;text-overflow:ellipsis}.mat-option .mat-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-option-pseudo-checkbox{margin-right:8px}[dir=rtl] .mat-option-pseudo-checkbox{margin-left:8px;margin-right:0}"] }]
1671
1729
  }], ctorParameters: function () {
1672
1730
  return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1673
1731
  type: Optional
@@ -1729,10 +1787,10 @@ function _getOptionScrollPosition(optionOffset, optionHeight, currentScrollPosit
1729
1787
  */
1730
1788
  class MatOptionModule {
1731
1789
  }
1732
- MatOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1733
- MatOptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptionModule, declarations: [MatOption, MatOptgroup], imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule], exports: [MatOption, MatOptgroup] });
1734
- MatOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptionModule, imports: [[MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule]] });
1735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptionModule, decorators: [{
1790
+ MatOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1791
+ MatOptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptionModule, declarations: [MatOption, MatOptgroup], imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule], exports: [MatOption, MatOptgroup] });
1792
+ MatOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptionModule, imports: [[MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule]] });
1793
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptionModule, decorators: [{
1736
1794
  type: NgModule,
1737
1795
  args: [{
1738
1796
  imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule],