@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/fesm2020/core.mjs CHANGED
@@ -9,7 +9,7 @@ import { DOCUMENT, CommonModule } from '@angular/common';
9
9
  import * as i1$1 from '@angular/cdk/platform';
10
10
  import { _isTestEnvironment, normalizePassiveListenerOptions } from '@angular/cdk/platform';
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
@@ -102,10 +102,10 @@ class MatCommonModule {
102
102
  return !!this._sanityChecks[name];
103
103
  }
104
104
  }
105
- 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 });
106
- MatCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatCommonModule, imports: [BidiModule], exports: [BidiModule] });
107
- MatCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatCommonModule, imports: [[BidiModule], BidiModule] });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatCommonModule, decorators: [{
105
+ 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 });
106
+ MatCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatCommonModule, imports: [BidiModule], exports: [BidiModule] });
107
+ MatCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatCommonModule, imports: [[BidiModule], BidiModule] });
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatCommonModule, decorators: [{
109
109
  type: NgModule,
110
110
  args: [{
111
111
  imports: [BidiModule],
@@ -274,12 +274,6 @@ function mixinErrorState(base) {
274
274
  return class extends base {
275
275
  constructor(...args) {
276
276
  super(...args);
277
- // This class member exists as an interop with `MatFormFieldControl` which expects
278
- // a public `stateChanges` observable to emit whenever the form field should be updated.
279
- // The description is not specifically mentioning the error state, as classes using this
280
- // mixin can/should emit an event in other cases too.
281
- /** Emits whenever the component state changes. */
282
- this.stateChanges = new Subject();
283
277
  /** Whether the component is in an error state. */
284
278
  this.errorState = false;
285
279
  }
@@ -681,9 +675,9 @@ class NativeDateAdapter extends DateAdapter {
681
675
  return dtf.format(d);
682
676
  }
683
677
  }
684
- 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 });
685
- NativeDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateAdapter });
686
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateAdapter, decorators: [{
678
+ 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 });
679
+ NativeDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateAdapter });
680
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateAdapter, decorators: [{
687
681
  type: Injectable
688
682
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
689
683
  type: Optional
@@ -720,10 +714,10 @@ const MAT_NATIVE_DATE_FORMATS = {
720
714
  */
721
715
  class NativeDateModule {
722
716
  }
723
- NativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
724
- NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateModule });
725
- NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }] });
726
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NativeDateModule, decorators: [{
717
+ NativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
718
+ NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateModule });
719
+ NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }] });
720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: NativeDateModule, decorators: [{
727
721
  type: NgModule,
728
722
  args: [{
729
723
  providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }],
@@ -731,10 +725,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
731
725
  }] });
732
726
  class MatNativeDateModule {
733
727
  }
734
- MatNativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
735
- MatNativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNativeDateModule, imports: [NativeDateModule] });
736
- 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]] });
737
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatNativeDateModule, decorators: [{
728
+ MatNativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
729
+ MatNativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatNativeDateModule, imports: [NativeDateModule] });
730
+ 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]] });
731
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatNativeDateModule, decorators: [{
738
732
  type: NgModule,
739
733
  args: [{
740
734
  imports: [NativeDateModule],
@@ -755,9 +749,9 @@ class ShowOnDirtyErrorStateMatcher {
755
749
  return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
756
750
  }
757
751
  }
758
- ShowOnDirtyErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
759
- ShowOnDirtyErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
760
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
752
+ ShowOnDirtyErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
753
+ ShowOnDirtyErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
754
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
761
755
  type: Injectable
762
756
  }] });
763
757
  /** Provider that defines how form controls behave with regards to displaying error messages. */
@@ -766,9 +760,9 @@ class ErrorStateMatcher {
766
760
  return !!(control && control.invalid && (control.touched || (form && form.submitted)));
767
761
  }
768
762
  }
769
- ErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
770
- ErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
771
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: ErrorStateMatcher, decorators: [{
763
+ ErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
764
+ ErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
765
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: ErrorStateMatcher, decorators: [{
772
766
  type: Injectable,
773
767
  args: [{ providedIn: 'root' }]
774
768
  }] });
@@ -787,9 +781,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
787
781
  */
788
782
  class MatLine {
789
783
  }
790
- MatLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
791
- MatLine.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: MatLine, selector: "[mat-line], [matLine]", host: { classAttribute: "mat-line" }, ngImport: i0 });
792
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLine, decorators: [{
784
+ MatLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
785
+ 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 });
786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLine, decorators: [{
793
787
  type: Directive,
794
788
  args: [{
795
789
  selector: '[mat-line], [matLine]',
@@ -821,10 +815,10 @@ function setClass(element, className, isAdd) {
821
815
  }
822
816
  class MatLineModule {
823
817
  }
824
- MatLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
825
- MatLineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLineModule, declarations: [MatLine], imports: [MatCommonModule], exports: [MatLine, MatCommonModule] });
826
- MatLineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLineModule, imports: [[MatCommonModule], MatCommonModule] });
827
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatLineModule, decorators: [{
818
+ MatLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
819
+ 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] });
820
+ MatLineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLineModule, imports: [[MatCommonModule], MatCommonModule] });
821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatLineModule, decorators: [{
828
822
  type: NgModule,
829
823
  args: [{
830
824
  imports: [MatCommonModule],
@@ -848,10 +842,13 @@ class RippleRef {
848
842
  /** Reference to the ripple HTML element. */
849
843
  element,
850
844
  /** Ripple configuration used for the ripple. */
851
- config) {
845
+ config,
846
+ /* Whether animations are forcibly disabled for ripples through CSS. */
847
+ _animationForciblyDisabledThroughCss = false) {
852
848
  this._renderer = _renderer;
853
849
  this.element = element;
854
850
  this.config = config;
851
+ this._animationForciblyDisabledThroughCss = _animationForciblyDisabledThroughCss;
855
852
  /** Current state of the ripple. */
856
853
  this.state = 3 /* HIDDEN */;
857
854
  }
@@ -894,8 +891,13 @@ class RippleRenderer {
894
891
  this._ngZone = _ngZone;
895
892
  /** Whether the pointer is currently down or not. */
896
893
  this._isPointerDown = false;
897
- /** Set of currently active ripple references. */
898
- this._activeRipples = new Set();
894
+ /**
895
+ * Map of currently active ripple references.
896
+ * The ripple reference is mapped to its element event listeners.
897
+ * The reason why `| null` is used is that event listeners are added only
898
+ * when the condition is truthy (see the `_startFadeOutTransition` method).
899
+ */
900
+ this._activeRipples = new Map();
899
901
  /** Whether pointer-up event listeners have been registered. */
900
902
  this._pointerUpEventsRegistered = false;
901
903
  // Only do anything if we're on the browser.
@@ -920,7 +922,7 @@ class RippleRenderer {
920
922
  const radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
921
923
  const offsetX = x - containerRect.left;
922
924
  const offsetY = y - containerRect.top;
923
- const duration = animationConfig.enterDuration;
925
+ const enterDuration = animationConfig.enterDuration;
924
926
  const ripple = document.createElement('div');
925
927
  ripple.classList.add('mat-ripple-element');
926
928
  ripple.style.left = `${offsetX - radius}px`;
@@ -932,67 +934,85 @@ class RippleRenderer {
932
934
  if (config.color != null) {
933
935
  ripple.style.backgroundColor = config.color;
934
936
  }
935
- ripple.style.transitionDuration = `${duration}ms`;
937
+ ripple.style.transitionDuration = `${enterDuration}ms`;
936
938
  this._containerElement.appendChild(ripple);
937
939
  // By default the browser does not recalculate the styles of dynamically created
938
- // ripple elements. This is critical because then the `scale` would not animate properly.
939
- enforceStyleRecalculation(ripple);
940
- ripple.style.transform = 'scale(1)';
940
+ // ripple elements. This is critical to ensure that the `scale` animates properly.
941
+ // We enforce a style recalculation by calling `getComputedStyle` and *accessing* a property.
942
+ // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
943
+ const computedStyles = window.getComputedStyle(ripple);
944
+ const userTransitionProperty = computedStyles.transitionProperty;
945
+ const userTransitionDuration = computedStyles.transitionDuration;
946
+ // Note: We detect whether animation is forcibly disabled through CSS by the use of
947
+ // `transition: none`. This is technically unexpected since animations are controlled
948
+ // through the animation config, but this exists for backwards compatibility. This logic does
949
+ // not need to be super accurate since it covers some edge cases which can be easily avoided by users.
950
+ const animationForciblyDisabledThroughCss = userTransitionProperty === 'none' ||
951
+ // Note: The canonical unit for serialized CSS `<time>` properties is seconds. Additionally
952
+ // some browsers expand the duration for every property (in our case `opacity` and `transform`).
953
+ userTransitionDuration === '0s' ||
954
+ userTransitionDuration === '0s, 0s';
941
955
  // Exposed reference to the ripple that will be returned.
942
- const rippleRef = new RippleRef(this, ripple, config);
956
+ const rippleRef = new RippleRef(this, ripple, config, animationForciblyDisabledThroughCss);
957
+ // Start the enter animation by setting the transform/scale to 100%. The animation will
958
+ // execute as part of this statement because we forced a style recalculation before.
959
+ // Note: We use a 3d transform here in order to avoid an issue in Safari where
960
+ // the ripples aren't clipped when inside the shadow DOM (see #24028).
961
+ ripple.style.transform = 'scale3d(1, 1, 1)';
943
962
  rippleRef.state = 0 /* FADING_IN */;
944
- // Add the ripple reference to the list of all active ripples.
945
- this._activeRipples.add(rippleRef);
946
963
  if (!config.persistent) {
947
964
  this._mostRecentTransientRipple = rippleRef;
948
965
  }
949
- // Wait for the ripple element to be completely faded in.
950
- // Once it's faded in, the ripple can be hidden immediately if the mouse is released.
951
- this._runTimeoutOutsideZone(() => {
952
- const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
953
- rippleRef.state = 1 /* VISIBLE */;
954
- // When the timer runs out while the user has kept their pointer down, we want to
955
- // keep only the persistent ripples and the latest transient ripple. We do this,
956
- // because we don't want stacked transient ripples to appear after their enter
957
- // animation has finished.
958
- if (!config.persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
959
- rippleRef.fadeOut();
960
- }
961
- }, duration);
966
+ let eventListeners = null;
967
+ // Do not register the `transition` event listener if fade-in and fade-out duration
968
+ // are set to zero. The events won't fire anyway and we can save resources here.
969
+ if (!animationForciblyDisabledThroughCss && (enterDuration || animationConfig.exitDuration)) {
970
+ this._ngZone.runOutsideAngular(() => {
971
+ const onTransitionEnd = () => this._finishRippleTransition(rippleRef);
972
+ const onTransitionCancel = () => this._destroyRipple(rippleRef);
973
+ ripple.addEventListener('transitionend', onTransitionEnd);
974
+ // If the transition is cancelled (e.g. due to DOM removal), we destroy the ripple
975
+ // directly as otherwise we would keep it part of the ripple container forever.
976
+ // https://www.w3.org/TR/css-transitions-1/#:~:text=no%20longer%20in%20the%20document.
977
+ ripple.addEventListener('transitioncancel', onTransitionCancel);
978
+ eventListeners = { onTransitionEnd, onTransitionCancel };
979
+ });
980
+ }
981
+ // Add the ripple reference to the list of all active ripples.
982
+ this._activeRipples.set(rippleRef, eventListeners);
983
+ // In case there is no fade-in transition duration, we need to manually call the transition
984
+ // end listener because `transitionend` doesn't fire if there is no transition.
985
+ if (animationForciblyDisabledThroughCss || !enterDuration) {
986
+ this._finishRippleTransition(rippleRef);
987
+ }
962
988
  return rippleRef;
963
989
  }
964
990
  /** Fades out a ripple reference. */
965
991
  fadeOutRipple(rippleRef) {
966
- const wasActive = this._activeRipples.delete(rippleRef);
967
- if (rippleRef === this._mostRecentTransientRipple) {
968
- this._mostRecentTransientRipple = null;
969
- }
970
- // Clear out the cached bounding rect if we have no more ripples.
971
- if (!this._activeRipples.size) {
972
- this._containerRect = null;
973
- }
974
- // For ripples that are not active anymore, don't re-run the fade-out animation.
975
- if (!wasActive) {
992
+ // For ripples already fading out or hidden, this should be a noop.
993
+ if (rippleRef.state === 2 /* FADING_OUT */ || rippleRef.state === 3 /* HIDDEN */) {
976
994
  return;
977
995
  }
978
996
  const rippleEl = rippleRef.element;
979
997
  const animationConfig = { ...defaultRippleAnimationConfig, ...rippleRef.config.animation };
998
+ // This starts the fade-out transition and will fire the transition end listener that
999
+ // removes the ripple element from the DOM.
980
1000
  rippleEl.style.transitionDuration = `${animationConfig.exitDuration}ms`;
981
1001
  rippleEl.style.opacity = '0';
982
1002
  rippleRef.state = 2 /* FADING_OUT */;
983
- // Once the ripple faded out, the ripple can be safely removed from the DOM.
984
- this._runTimeoutOutsideZone(() => {
985
- rippleRef.state = 3 /* HIDDEN */;
986
- rippleEl.remove();
987
- }, animationConfig.exitDuration);
1003
+ // In case there is no fade-out transition duration, we need to manually call the
1004
+ // transition end listener because `transitionend` doesn't fire if there is no transition.
1005
+ if (rippleRef._animationForciblyDisabledThroughCss || !animationConfig.exitDuration) {
1006
+ this._finishRippleTransition(rippleRef);
1007
+ }
988
1008
  }
989
1009
  /** Fades out all currently active ripples. */
990
1010
  fadeOutAll() {
991
- this._activeRipples.forEach(ripple => ripple.fadeOut());
1011
+ this._getActiveRipples().forEach(ripple => ripple.fadeOut());
992
1012
  }
993
1013
  /** Fades out all currently active non-persistent ripples. */
994
1014
  fadeOutAllNonPersistent() {
995
- this._activeRipples.forEach(ripple => {
1015
+ this._getActiveRipples().forEach(ripple => {
996
1016
  if (!ripple.config.persistent) {
997
1017
  ripple.fadeOut();
998
1018
  }
@@ -1031,6 +1051,51 @@ class RippleRenderer {
1031
1051
  this._pointerUpEventsRegistered = true;
1032
1052
  }
1033
1053
  }
1054
+ /** Method that will be called if the fade-in or fade-in transition completed. */
1055
+ _finishRippleTransition(rippleRef) {
1056
+ if (rippleRef.state === 0 /* FADING_IN */) {
1057
+ this._startFadeOutTransition(rippleRef);
1058
+ }
1059
+ else if (rippleRef.state === 2 /* FADING_OUT */) {
1060
+ this._destroyRipple(rippleRef);
1061
+ }
1062
+ }
1063
+ /**
1064
+ * Starts the fade-out transition of the given ripple if it's not persistent and the pointer
1065
+ * is not held down anymore.
1066
+ */
1067
+ _startFadeOutTransition(rippleRef) {
1068
+ const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
1069
+ const { persistent } = rippleRef.config;
1070
+ rippleRef.state = 1 /* VISIBLE */;
1071
+ // When the timer runs out while the user has kept their pointer down, we want to
1072
+ // keep only the persistent ripples and the latest transient ripple. We do this,
1073
+ // because we don't want stacked transient ripples to appear after their enter
1074
+ // animation has finished.
1075
+ if (!persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
1076
+ rippleRef.fadeOut();
1077
+ }
1078
+ }
1079
+ /** Destroys the given ripple by removing it from the DOM and updating its state. */
1080
+ _destroyRipple(rippleRef) {
1081
+ const eventListeners = this._activeRipples.get(rippleRef) ?? null;
1082
+ this._activeRipples.delete(rippleRef);
1083
+ // Clear out the cached bounding rect if we have no more ripples.
1084
+ if (!this._activeRipples.size) {
1085
+ this._containerRect = null;
1086
+ }
1087
+ // If the current ref is the most recent transient ripple, unset it
1088
+ // avoid memory leaks.
1089
+ if (rippleRef === this._mostRecentTransientRipple) {
1090
+ this._mostRecentTransientRipple = null;
1091
+ }
1092
+ rippleRef.state = 3 /* HIDDEN */;
1093
+ if (eventListeners !== null) {
1094
+ rippleRef.element.removeEventListener('transitionend', eventListeners.onTransitionEnd);
1095
+ rippleRef.element.removeEventListener('transitioncancel', eventListeners.onTransitionCancel);
1096
+ }
1097
+ rippleRef.element.remove();
1098
+ }
1034
1099
  /** Function being called whenever the trigger is being pressed using mouse. */
1035
1100
  _onMousedown(event) {
1036
1101
  // Screen readers will fire fake mouse events for space/enter. Skip launching a
@@ -1066,7 +1131,7 @@ class RippleRenderer {
1066
1131
  }
1067
1132
  this._isPointerDown = false;
1068
1133
  // Fade-out all ripples that are visible and not persistent.
1069
- this._activeRipples.forEach(ripple => {
1134
+ this._getActiveRipples().forEach(ripple => {
1070
1135
  // By default, only ripples that are completely visible will fade out on pointer release.
1071
1136
  // If the `terminateOnPointerUp` option is set, ripples that still fade in will also fade out.
1072
1137
  const isVisible = ripple.state === 1 /* VISIBLE */ ||
@@ -1076,10 +1141,6 @@ class RippleRenderer {
1076
1141
  }
1077
1142
  });
1078
1143
  }
1079
- /** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */
1080
- _runTimeoutOutsideZone(fn, delay = 0) {
1081
- this._ngZone.runOutsideAngular(() => setTimeout(fn, delay));
1082
- }
1083
1144
  /** Registers event listeners for a given list of events. */
1084
1145
  _registerEvents(eventTypes) {
1085
1146
  this._ngZone.runOutsideAngular(() => {
@@ -1088,6 +1149,9 @@ class RippleRenderer {
1088
1149
  });
1089
1150
  });
1090
1151
  }
1152
+ _getActiveRipples() {
1153
+ return Array.from(this._activeRipples.keys());
1154
+ }
1091
1155
  /** Removes previously registered event listeners from the trigger element. */
1092
1156
  _removeTriggerEvents() {
1093
1157
  if (this._triggerElement) {
@@ -1102,13 +1166,6 @@ class RippleRenderer {
1102
1166
  }
1103
1167
  }
1104
1168
  }
1105
- /** Enforces a style recalculation of a DOM element by computing its styles. */
1106
- function enforceStyleRecalculation(element) {
1107
- // Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
1108
- // Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
1109
- // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
1110
- window.getComputedStyle(element).getPropertyValue('opacity');
1111
- }
1112
1169
  /**
1113
1170
  * Returns the distance from the point (x, y) to the furthest corner of a rectangle.
1114
1171
  */
@@ -1223,9 +1280,9 @@ class MatRipple {
1223
1280
  }
1224
1281
  }
1225
1282
  }
1226
- 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 });
1227
- 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 });
1228
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRipple, decorators: [{
1283
+ 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 });
1284
+ 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 });
1285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRipple, decorators: [{
1229
1286
  type: Directive,
1230
1287
  args: [{
1231
1288
  selector: '[mat-ripple], [matRipple]',
@@ -1277,10 +1334,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1277
1334
  */
1278
1335
  class MatRippleModule {
1279
1336
  }
1280
- MatRippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1281
- MatRippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRippleModule, declarations: [MatRipple], imports: [MatCommonModule], exports: [MatRipple, MatCommonModule] });
1282
- MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule], MatCommonModule] });
1283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatRippleModule, decorators: [{
1337
+ MatRippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1338
+ 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] });
1339
+ MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule], MatCommonModule] });
1340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatRippleModule, decorators: [{
1284
1341
  type: NgModule,
1285
1342
  args: [{
1286
1343
  imports: [MatCommonModule],
@@ -1318,9 +1375,9 @@ class MatPseudoCheckbox {
1318
1375
  this.disabled = false;
1319
1376
  }
1320
1377
  }
1321
- 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 });
1322
- 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 });
1323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckbox, decorators: [{
1378
+ 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 });
1379
+ 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 });
1380
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckbox, decorators: [{
1324
1381
  type: Component,
1325
1382
  args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'mat-pseudo-checkbox', template: '', host: {
1326
1383
  'class': 'mat-pseudo-checkbox',
@@ -1328,7 +1385,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1328
1385
  '[class.mat-pseudo-checkbox-checked]': 'state === "checked"',
1329
1386
  '[class.mat-pseudo-checkbox-disabled]': 'disabled',
1330
1387
  '[class._mat-animation-noopable]': '_animationMode === "NoopAnimations"',
1331
- }, 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"] }]
1388
+ }, 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}"] }]
1332
1389
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1333
1390
  type: Optional
1334
1391
  }, {
@@ -1349,10 +1406,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1349
1406
  */
1350
1407
  class MatPseudoCheckboxModule {
1351
1408
  }
1352
- MatPseudoCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1353
- MatPseudoCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckboxModule, declarations: [MatPseudoCheckbox], imports: [MatCommonModule], exports: [MatPseudoCheckbox] });
1354
- MatPseudoCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckboxModule, imports: [[MatCommonModule]] });
1355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatPseudoCheckboxModule, decorators: [{
1409
+ MatPseudoCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1410
+ MatPseudoCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckboxModule, declarations: [MatPseudoCheckbox], imports: [MatCommonModule], exports: [MatPseudoCheckbox] });
1411
+ MatPseudoCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckboxModule, imports: [[MatCommonModule]] });
1412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatPseudoCheckboxModule, decorators: [{
1356
1413
  type: NgModule,
1357
1414
  args: [{
1358
1415
  imports: [MatCommonModule],
@@ -1421,9 +1478,9 @@ class _MatOptgroupBase extends _MatOptgroupMixinBase {
1421
1478
  this._inert = parent?.inertGroups ?? false;
1422
1479
  }
1423
1480
  }
1424
- _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 });
1425
- _MatOptgroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.0", type: _MatOptgroupBase, inputs: { label: "label" }, usesInheritance: true, ngImport: i0 });
1426
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatOptgroupBase, decorators: [{
1481
+ _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 });
1482
+ _MatOptgroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", type: _MatOptgroupBase, inputs: { label: "label" }, usesInheritance: true, ngImport: i0 });
1483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: _MatOptgroupBase, decorators: [{
1427
1484
  type: Directive
1428
1485
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
1429
1486
  type: Inject,
@@ -1444,9 +1501,9 @@ const MAT_OPTGROUP = new InjectionToken('MatOptgroup');
1444
1501
  */
1445
1502
  class MatOptgroup extends _MatOptgroupBase {
1446
1503
  }
1447
- MatOptgroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
1448
- 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 });
1449
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptgroup, decorators: [{
1504
+ MatOptgroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
1505
+ 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 });
1506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptgroup, decorators: [{
1450
1507
  type: Component,
1451
1508
  args: [{ selector: 'mat-optgroup', exportAs: 'matOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], host: {
1452
1509
  'class': 'mat-optgroup',
@@ -1454,7 +1511,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1454
1511
  '[attr.aria-disabled]': '_inert ? null : disabled.toString()',
1455
1512
  '[attr.aria-labelledby]': '_inert ? null : _labelId',
1456
1513
  '[class.mat-optgroup-disabled]': 'disabled',
1457
- }, 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"] }]
1514
+ }, 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}"] }]
1458
1515
  }] });
1459
1516
 
1460
1517
  /**
@@ -1643,9 +1700,9 @@ class _MatOptionBase {
1643
1700
  this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
1644
1701
  }
1645
1702
  }
1646
- _MatOptionBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatOptionBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1647
- _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 });
1648
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: _MatOptionBase, decorators: [{
1703
+ _MatOptionBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: _MatOptionBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1704
+ _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 });
1705
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: _MatOptionBase, decorators: [{
1649
1706
  type: Directive
1650
1707
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined }, { type: _MatOptgroupBase }]; }, propDecorators: { value: [{
1651
1708
  type: Input
@@ -1664,9 +1721,9 @@ class MatOption extends _MatOptionBase {
1664
1721
  super(element, changeDetectorRef, parent, group);
1665
1722
  }
1666
1723
  }
1667
- 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 });
1668
- 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 });
1669
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOption, decorators: [{
1724
+ 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 });
1725
+ 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 });
1726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOption, decorators: [{
1670
1727
  type: Component,
1671
1728
  args: [{ selector: 'mat-option', exportAs: 'matOption', host: {
1672
1729
  'role': 'option',
@@ -1681,7 +1738,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImpor
1681
1738
  '(click)': '_selectViaInteraction()',
1682
1739
  '(keydown)': '_handleKeydown($event)',
1683
1740
  'class': 'mat-option mat-focus-indicator',
1684
- }, 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"] }]
1741
+ }, 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}"] }]
1685
1742
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
1686
1743
  type: Optional
1687
1744
  }, {
@@ -1741,10 +1798,10 @@ function _getOptionScrollPosition(optionOffset, optionHeight, currentScrollPosit
1741
1798
  */
1742
1799
  class MatOptionModule {
1743
1800
  }
1744
- MatOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1745
- 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] });
1746
- MatOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptionModule, imports: [[MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule]] });
1747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: MatOptionModule, decorators: [{
1801
+ MatOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1802
+ 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] });
1803
+ MatOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptionModule, imports: [[MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule]] });
1804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatOptionModule, decorators: [{
1748
1805
  type: NgModule,
1749
1806
  args: [{
1750
1807
  imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule],