@angular/material 14.0.0-next.2 → 14.0.0-next.5

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 (370) hide show
  1. package/autocomplete/autocomplete-trigger.d.ts +14 -3
  2. package/autocomplete/autocomplete.d.ts +7 -1
  3. package/button-toggle/_button-toggle-theme.scss +14 -2
  4. package/checkbox/_checkbox-theme.scss +7 -1
  5. package/chips/chip-list.d.ts +20 -5
  6. package/chips/chip.d.ts +3 -1
  7. package/core/common-behaviors/error-state.d.ts +1 -2
  8. package/core/datetime/index.d.ts +1 -2
  9. package/core/ripple/index.d.ts +1 -2
  10. package/core/ripple/ripple-ref.d.ts +2 -1
  11. package/core/ripple/ripple-renderer.d.ts +9 -2
  12. package/core/theming/_theming.scss +9 -0
  13. package/datepicker/calendar-body.d.ts +12 -3
  14. package/datepicker/date-range-input-parts.d.ts +4 -1
  15. package/datepicker/month-view.d.ts +18 -0
  16. package/datepicker/multi-year-view.d.ts +18 -0
  17. package/datepicker/year-view.d.ts +18 -0
  18. package/dialog/dialog-content-directives.d.ts +5 -1
  19. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  20. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  21. package/esm2020/autocomplete/autocomplete-trigger.mjs +72 -38
  22. package/esm2020/autocomplete/autocomplete.mjs +18 -8
  23. package/esm2020/badge/badge-module.mjs +5 -5
  24. package/esm2020/badge/badge.mjs +4 -4
  25. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +4 -4
  26. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  27. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  28. package/esm2020/button/button-module.mjs +5 -5
  29. package/esm2020/button/button.mjs +7 -7
  30. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  31. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  32. package/esm2020/card/card-module.mjs +5 -5
  33. package/esm2020/card/card.mjs +43 -43
  34. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  35. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  36. package/esm2020/checkbox/checkbox.mjs +6 -4
  37. package/esm2020/chips/chip-input.mjs +4 -4
  38. package/esm2020/chips/chip-list.mjs +33 -8
  39. package/esm2020/chips/chip.mjs +18 -14
  40. package/esm2020/chips/chips-module.mjs +5 -5
  41. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  42. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  43. package/esm2020/core/datetime/index.mjs +9 -11
  44. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  45. package/esm2020/core/error/error-options.mjs +7 -7
  46. package/esm2020/core/line/line.mjs +8 -8
  47. package/esm2020/core/option/index.mjs +5 -5
  48. package/esm2020/core/option/optgroup.mjs +7 -7
  49. package/esm2020/core/option/option.mjs +7 -7
  50. package/esm2020/core/ripple/index.mjs +6 -7
  51. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  52. package/esm2020/core/ripple/ripple-renderer.mjs +88 -47
  53. package/esm2020/core/ripple/ripple.mjs +4 -4
  54. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  55. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +4 -4
  56. package/esm2020/core/version.mjs +1 -1
  57. package/esm2020/datepicker/calendar-body.mjs +27 -5
  58. package/esm2020/datepicker/calendar.mjs +13 -13
  59. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  60. package/esm2020/datepicker/date-range-input.mjs +4 -4
  61. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  62. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  63. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  64. package/esm2020/datepicker/datepicker-actions.mjs +10 -10
  65. package/esm2020/datepicker/datepicker-base.mjs +7 -7
  66. package/esm2020/datepicker/datepicker-input-base.mjs +12 -7
  67. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  68. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  69. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  70. package/esm2020/datepicker/datepicker-toggle.mjs +7 -7
  71. package/esm2020/datepicker/datepicker.mjs +4 -4
  72. package/esm2020/datepicker/month-view.mjs +36 -9
  73. package/esm2020/datepicker/multi-year-view.mjs +42 -10
  74. package/esm2020/datepicker/year-view.mjs +41 -10
  75. package/esm2020/dialog/dialog-container.mjs +8 -8
  76. package/esm2020/dialog/dialog-content-directives.mjs +27 -15
  77. package/esm2020/dialog/dialog-module.mjs +5 -5
  78. package/esm2020/dialog/dialog.mjs +8 -8
  79. package/esm2020/divider/divider-module.mjs +5 -5
  80. package/esm2020/divider/divider.mjs +4 -4
  81. package/esm2020/expansion/accordion.mjs +4 -4
  82. package/esm2020/expansion/expansion-module.mjs +5 -5
  83. package/esm2020/expansion/expansion-panel-base.mjs +14 -0
  84. package/esm2020/expansion/expansion-panel-content.mjs +14 -7
  85. package/esm2020/expansion/expansion-panel-header.mjs +10 -10
  86. package/esm2020/expansion/expansion-panel.mjs +11 -8
  87. package/esm2020/expansion/public-api.mjs +2 -1
  88. package/esm2020/form-field/error.mjs +4 -4
  89. package/esm2020/form-field/form-field-control.mjs +4 -4
  90. package/esm2020/form-field/form-field-module.mjs +5 -5
  91. package/esm2020/form-field/form-field.mjs +16 -11
  92. package/esm2020/form-field/hint.mjs +4 -4
  93. package/esm2020/form-field/label.mjs +4 -4
  94. package/esm2020/form-field/placeholder.mjs +4 -4
  95. package/esm2020/form-field/prefix.mjs +4 -4
  96. package/esm2020/form-field/suffix.mjs +4 -4
  97. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  98. package/esm2020/grid-list/grid-list.mjs +4 -4
  99. package/esm2020/grid-list/grid-tile.mjs +16 -16
  100. package/esm2020/icon/icon-module.mjs +5 -5
  101. package/esm2020/icon/icon-registry.mjs +12 -14
  102. package/esm2020/icon/icon.mjs +30 -20
  103. package/esm2020/icon/testing/fake-icon-registry.mjs +9 -9
  104. package/esm2020/input/input-module.mjs +5 -5
  105. package/esm2020/input/input.mjs +16 -6
  106. package/esm2020/list/list-module.mjs +5 -5
  107. package/esm2020/list/list.mjs +19 -19
  108. package/esm2020/list/selection-list.mjs +7 -7
  109. package/esm2020/menu/menu-content.mjs +7 -7
  110. package/esm2020/menu/menu-errors.mjs +1 -12
  111. package/esm2020/menu/menu-item.mjs +8 -4
  112. package/esm2020/menu/menu-module.mjs +5 -5
  113. package/esm2020/menu/menu-trigger.mjs +73 -66
  114. package/esm2020/menu/menu.mjs +35 -14
  115. package/esm2020/paginator/paginator-intl.mjs +4 -4
  116. package/esm2020/paginator/paginator-module.mjs +5 -5
  117. package/esm2020/paginator/paginator.mjs +12 -8
  118. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  119. package/esm2020/progress-bar/progress-bar.mjs +4 -4
  120. package/esm2020/progress-spinner/progress-spinner-module.mjs +8 -8
  121. package/esm2020/progress-spinner/progress-spinner.mjs +13 -50
  122. package/esm2020/progress-spinner/public-api.mjs +10 -2
  123. package/esm2020/radio/radio-module.mjs +5 -5
  124. package/esm2020/radio/radio.mjs +14 -14
  125. package/esm2020/select/select-module.mjs +5 -5
  126. package/esm2020/select/select.mjs +25 -13
  127. package/esm2020/sidenav/drawer.mjs +12 -12
  128. package/esm2020/sidenav/sidenav-module.mjs +7 -8
  129. package/esm2020/sidenav/sidenav.mjs +12 -12
  130. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  131. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  132. package/esm2020/slide-toggle/slide-toggle.mjs +4 -4
  133. package/esm2020/slider/slider-module.mjs +5 -5
  134. package/esm2020/slider/slider.mjs +4 -4
  135. package/esm2020/snack-bar/simple-snack-bar.mjs +4 -4
  136. package/esm2020/snack-bar/snack-bar-container.mjs +4 -4
  137. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  138. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  139. package/esm2020/sort/sort-header-intl.mjs +4 -4
  140. package/esm2020/sort/sort-header.mjs +16 -8
  141. package/esm2020/sort/sort-module.mjs +5 -5
  142. package/esm2020/sort/sort.mjs +4 -4
  143. package/esm2020/stepper/step-content.mjs +4 -4
  144. package/esm2020/stepper/step-header.mjs +4 -4
  145. package/esm2020/stepper/step-label.mjs +4 -4
  146. package/esm2020/stepper/stepper-button.mjs +7 -7
  147. package/esm2020/stepper/stepper-icon.mjs +4 -4
  148. package/esm2020/stepper/stepper-intl.mjs +4 -4
  149. package/esm2020/stepper/stepper-module.mjs +6 -10
  150. package/esm2020/stepper/stepper.mjs +12 -62
  151. package/esm2020/table/cell.mjs +22 -22
  152. package/esm2020/table/row.mjs +22 -22
  153. package/esm2020/table/table-module.mjs +5 -5
  154. package/esm2020/table/table.mjs +7 -7
  155. package/esm2020/table/text-column.mjs +4 -4
  156. package/esm2020/tabs/ink-bar.mjs +4 -4
  157. package/esm2020/tabs/paginated-tab-header.mjs +16 -10
  158. package/esm2020/tabs/tab-body.mjs +10 -10
  159. package/esm2020/tabs/tab-content.mjs +4 -4
  160. package/esm2020/tabs/tab-group.mjs +31 -7
  161. package/esm2020/tabs/tab-header.mjs +8 -8
  162. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  163. package/esm2020/tabs/tab-label.mjs +4 -4
  164. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +16 -16
  165. package/esm2020/tabs/tab.mjs +4 -4
  166. package/esm2020/tabs/tabs-module.mjs +5 -5
  167. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  168. package/esm2020/toolbar/toolbar.mjs +7 -7
  169. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  170. package/esm2020/tooltip/tooltip.mjs +41 -18
  171. package/esm2020/tree/node.mjs +10 -10
  172. package/esm2020/tree/outlet.mjs +4 -4
  173. package/esm2020/tree/padding.mjs +4 -4
  174. package/esm2020/tree/toggle.mjs +4 -4
  175. package/esm2020/tree/tree-module.mjs +5 -5
  176. package/esm2020/tree/tree.mjs +4 -4
  177. package/expansion/expansion-panel-base.d.ts +22 -0
  178. package/expansion/expansion-panel-content.d.ts +4 -2
  179. package/expansion/public-api.d.ts +1 -0
  180. package/fesm2015/autocomplete.mjs +100 -55
  181. package/fesm2015/autocomplete.mjs.map +1 -1
  182. package/fesm2015/badge.mjs +7 -7
  183. package/fesm2015/badge.mjs.map +1 -1
  184. package/fesm2015/bottom-sheet.mjs +10 -10
  185. package/fesm2015/bottom-sheet.mjs.map +1 -1
  186. package/fesm2015/button-toggle.mjs +11 -11
  187. package/fesm2015/button-toggle.mjs.map +1 -1
  188. package/fesm2015/button.mjs +10 -10
  189. package/fesm2015/button.mjs.map +1 -1
  190. package/fesm2015/card.mjs +46 -46
  191. package/fesm2015/card.mjs.map +1 -1
  192. package/fesm2015/checkbox.mjs +16 -14
  193. package/fesm2015/checkbox.mjs.map +1 -1
  194. package/fesm2015/chips.mjs +56 -27
  195. package/fesm2015/chips.mjs.map +1 -1
  196. package/fesm2015/core.mjs +153 -116
  197. package/fesm2015/core.mjs.map +1 -1
  198. package/fesm2015/datepicker.mjs +224 -107
  199. package/fesm2015/datepicker.mjs.map +1 -1
  200. package/fesm2015/dialog.mjs +44 -32
  201. package/fesm2015/dialog.mjs.map +1 -1
  202. package/fesm2015/divider.mjs +7 -7
  203. package/fesm2015/divider.mjs.map +1 -1
  204. package/fesm2015/expansion.mjs +53 -30
  205. package/fesm2015/expansion.mjs.map +1 -1
  206. package/fesm2015/form-field.mjs +41 -35
  207. package/fesm2015/form-field.mjs.map +1 -1
  208. package/fesm2015/grid-list.mjs +22 -22
  209. package/fesm2015/grid-list.mjs.map +1 -1
  210. package/fesm2015/icon/testing.mjs +8 -8
  211. package/fesm2015/icon/testing.mjs.map +1 -1
  212. package/fesm2015/icon.mjs +44 -36
  213. package/fesm2015/icon.mjs.map +1 -1
  214. package/fesm2015/input.mjs +19 -9
  215. package/fesm2015/input.mjs.map +1 -1
  216. package/fesm2015/list.mjs +28 -28
  217. package/fesm2015/list.mjs.map +1 -1
  218. package/fesm2015/menu.mjs +124 -99
  219. package/fesm2015/menu.mjs.map +1 -1
  220. package/fesm2015/paginator.mjs +18 -14
  221. package/fesm2015/paginator.mjs.map +1 -1
  222. package/fesm2015/progress-bar.mjs +7 -7
  223. package/fesm2015/progress-bar.mjs.map +1 -1
  224. package/fesm2015/progress-spinner.mjs +30 -62
  225. package/fesm2015/progress-spinner.mjs.map +1 -1
  226. package/fesm2015/radio.mjs +17 -17
  227. package/fesm2015/radio.mjs.map +1 -1
  228. package/fesm2015/select.mjs +28 -16
  229. package/fesm2015/select.mjs.map +1 -1
  230. package/fesm2015/sidenav.mjs +29 -30
  231. package/fesm2015/sidenav.mjs.map +1 -1
  232. package/fesm2015/slide-toggle.mjs +14 -14
  233. package/fesm2015/slide-toggle.mjs.map +1 -1
  234. package/fesm2015/slider.mjs +7 -7
  235. package/fesm2015/slider.mjs.map +1 -1
  236. package/fesm2015/snack-bar.mjs +16 -16
  237. package/fesm2015/snack-bar.mjs.map +1 -1
  238. package/fesm2015/sort.mjs +128 -120
  239. package/fesm2015/sort.mjs.map +1 -1
  240. package/fesm2015/stepper.mjs +37 -90
  241. package/fesm2015/stepper.mjs.map +1 -1
  242. package/fesm2015/table.mjs +55 -55
  243. package/fesm2015/table.mjs.map +1 -1
  244. package/fesm2015/tabs.mjs +95 -65
  245. package/fesm2015/tabs.mjs.map +1 -1
  246. package/fesm2015/toolbar.mjs +10 -10
  247. package/fesm2015/toolbar.mjs.map +1 -1
  248. package/fesm2015/tooltip.mjs +46 -21
  249. package/fesm2015/tooltip.mjs.map +1 -1
  250. package/fesm2015/tree.mjs +25 -25
  251. package/fesm2015/tree.mjs.map +1 -1
  252. package/fesm2020/autocomplete.mjs +99 -55
  253. package/fesm2020/autocomplete.mjs.map +1 -1
  254. package/fesm2020/badge.mjs +7 -7
  255. package/fesm2020/badge.mjs.map +1 -1
  256. package/fesm2020/bottom-sheet.mjs +10 -10
  257. package/fesm2020/bottom-sheet.mjs.map +1 -1
  258. package/fesm2020/button-toggle.mjs +11 -11
  259. package/fesm2020/button-toggle.mjs.map +1 -1
  260. package/fesm2020/button.mjs +10 -10
  261. package/fesm2020/button.mjs.map +1 -1
  262. package/fesm2020/card.mjs +46 -46
  263. package/fesm2020/card.mjs.map +1 -1
  264. package/fesm2020/checkbox.mjs +16 -14
  265. package/fesm2020/checkbox.mjs.map +1 -1
  266. package/fesm2020/chips.mjs +56 -27
  267. package/fesm2020/chips.mjs.map +1 -1
  268. package/fesm2020/core.mjs +153 -116
  269. package/fesm2020/core.mjs.map +1 -1
  270. package/fesm2020/datepicker.mjs +224 -107
  271. package/fesm2020/datepicker.mjs.map +1 -1
  272. package/fesm2020/dialog.mjs +44 -32
  273. package/fesm2020/dialog.mjs.map +1 -1
  274. package/fesm2020/divider.mjs +7 -7
  275. package/fesm2020/divider.mjs.map +1 -1
  276. package/fesm2020/expansion.mjs +51 -30
  277. package/fesm2020/expansion.mjs.map +1 -1
  278. package/fesm2020/form-field.mjs +40 -35
  279. package/fesm2020/form-field.mjs.map +1 -1
  280. package/fesm2020/grid-list.mjs +22 -22
  281. package/fesm2020/grid-list.mjs.map +1 -1
  282. package/fesm2020/icon/testing.mjs +8 -8
  283. package/fesm2020/icon/testing.mjs.map +1 -1
  284. package/fesm2020/icon.mjs +44 -36
  285. package/fesm2020/icon.mjs.map +1 -1
  286. package/fesm2020/input.mjs +19 -9
  287. package/fesm2020/input.mjs.map +1 -1
  288. package/fesm2020/list.mjs +28 -28
  289. package/fesm2020/list.mjs.map +1 -1
  290. package/fesm2020/menu.mjs +120 -99
  291. package/fesm2020/menu.mjs.map +1 -1
  292. package/fesm2020/paginator.mjs +18 -14
  293. package/fesm2020/paginator.mjs.map +1 -1
  294. package/fesm2020/progress-bar.mjs +7 -7
  295. package/fesm2020/progress-bar.mjs.map +1 -1
  296. package/fesm2020/progress-spinner.mjs +30 -60
  297. package/fesm2020/progress-spinner.mjs.map +1 -1
  298. package/fesm2020/radio.mjs +17 -17
  299. package/fesm2020/radio.mjs.map +1 -1
  300. package/fesm2020/select.mjs +28 -16
  301. package/fesm2020/select.mjs.map +1 -1
  302. package/fesm2020/sidenav.mjs +29 -30
  303. package/fesm2020/sidenav.mjs.map +1 -1
  304. package/fesm2020/slide-toggle.mjs +14 -14
  305. package/fesm2020/slide-toggle.mjs.map +1 -1
  306. package/fesm2020/slider.mjs +7 -7
  307. package/fesm2020/slider.mjs.map +1 -1
  308. package/fesm2020/snack-bar.mjs +16 -16
  309. package/fesm2020/snack-bar.mjs.map +1 -1
  310. package/fesm2020/sort.mjs +24 -16
  311. package/fesm2020/sort.mjs.map +1 -1
  312. package/fesm2020/stepper.mjs +37 -90
  313. package/fesm2020/stepper.mjs.map +1 -1
  314. package/fesm2020/table.mjs +55 -55
  315. package/fesm2020/table.mjs.map +1 -1
  316. package/fesm2020/tabs.mjs +95 -65
  317. package/fesm2020/tabs.mjs.map +1 -1
  318. package/fesm2020/toolbar.mjs +10 -10
  319. package/fesm2020/toolbar.mjs.map +1 -1
  320. package/fesm2020/tooltip.mjs +44 -21
  321. package/fesm2020/tooltip.mjs.map +1 -1
  322. package/fesm2020/tree.mjs +25 -25
  323. package/fesm2020/tree.mjs.map +1 -1
  324. package/form-field/form-field.d.ts +9 -5
  325. package/icon/icon-registry.d.ts +7 -9
  326. package/icon/icon.d.ts +12 -3
  327. package/icon/testing/fake-icon-registry.d.ts +1 -1
  328. package/input/input.d.ts +11 -1
  329. package/menu/menu-errors.d.ts +0 -5
  330. package/menu/menu-item.d.ts +3 -2
  331. package/menu/menu-trigger.d.ts +21 -11
  332. package/menu/menu.d.ts +7 -2
  333. package/package.json +7 -7
  334. package/paginator/paginator.d.ts +12 -1
  335. package/prebuilt-themes/deeppurple-amber.css +1 -1
  336. package/prebuilt-themes/indigo-pink.css +1 -1
  337. package/prebuilt-themes/pink-bluegrey.css +1 -1
  338. package/prebuilt-themes/purple-green.css +1 -1
  339. package/progress-spinner/progress-spinner-module.d.ts +1 -1
  340. package/progress-spinner/progress-spinner.d.ts +4 -19
  341. package/progress-spinner/public-api.d.ts +8 -1
  342. package/schematics/migration.json +5 -0
  343. package/schematics/ng-add/index.js +2 -2
  344. package/schematics/ng-add/index.mjs +2 -2
  345. package/schematics/ng-add/schema.d.ts +2 -2
  346. package/schematics/ng-add/schema.js +1 -1
  347. package/schematics/ng-add/schema.json +12 -4
  348. package/schematics/ng-add/schema.mjs +1 -1
  349. package/schematics/ng-add/setup-project.js +7 -5
  350. package/schematics/ng-add/setup-project.mjs +7 -5
  351. package/schematics/ng-update/data/constructor-checks.js +5 -1
  352. package/schematics/ng-update/data/constructor-checks.mjs +5 -1
  353. package/schematics/ng-update/index.d.ts +2 -0
  354. package/schematics/ng-update/index.js +7 -2
  355. package/schematics/ng-update/index.mjs +7 -2
  356. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +4 -4
  357. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +4 -4
  358. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +13 -13
  359. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +13 -13
  360. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +2 -13
  361. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +2 -13
  362. package/select/select.d.ts +11 -0
  363. package/sidenav/sidenav-module.d.ts +2 -3
  364. package/sort/sort-header.d.ts +4 -4
  365. package/sort/sort.d.ts +4 -0
  366. package/stepper/stepper-module.d.ts +1 -1
  367. package/stepper/stepper.d.ts +2 -35
  368. package/tabs/paginated-tab-header.d.ts +4 -2
  369. package/tabs/tab-group.d.ts +6 -2
  370. package/tooltip/tooltip.d.ts +13 -1
package/fesm2015/core.mjs CHANGED
@@ -5,11 +5,11 @@ import { VERSION as VERSION$1 } from '@angular/cdk';
5
5
  import * as i3 from '@angular/common';
6
6
  import { DOCUMENT, CommonModule } from '@angular/common';
7
7
  import * as i1$1 from '@angular/cdk/platform';
8
- import { _isTestEnvironment, PlatformModule, normalizePassiveListenerOptions } from '@angular/cdk/platform';
8
+ import { _isTestEnvironment, normalizePassiveListenerOptions } from '@angular/cdk/platform';
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('14.0.0-next.2');
25
+ const VERSION = new Version('14.0.0-next.5');
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.2.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.2.0", ngImport: i0, type: MatCommonModule, imports: [BidiModule], exports: [BidiModule] });
100
- MatCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatCommonModule, imports: [[BidiModule], BidiModule] });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatCommonModule, decorators: [{
98
+ MatCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", 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.4", ngImport: i0, type: MatCommonModule, imports: [BidiModule], exports: [BidiModule] });
100
+ MatCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatCommonModule, imports: [[BidiModule], BidiModule] });
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", 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.2.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.2.0", ngImport: i0, type: NativeDateAdapter });
674
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateAdapter, decorators: [{
666
+ NativeDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", 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.4", ngImport: i0, type: NativeDateAdapter });
668
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: NativeDateAdapter, decorators: [{
675
669
  type: Injectable
676
670
  }], ctorParameters: function () {
677
671
  return [{ type: undefined, decorators: [{
@@ -710,22 +704,21 @@ const MAT_NATIVE_DATE_FORMATS = {
710
704
  */
711
705
  class NativeDateModule {
712
706
  }
713
- NativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
714
- NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, imports: [PlatformModule] });
715
- NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }], imports: [[PlatformModule]] });
716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, decorators: [{
707
+ NativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
708
+ NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: NativeDateModule });
709
+ NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }] });
710
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: NativeDateModule, decorators: [{
717
711
  type: NgModule,
718
712
  args: [{
719
- imports: [PlatformModule],
720
713
  providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }],
721
714
  }]
722
715
  }] });
723
716
  class MatNativeDateModule {
724
717
  }
725
- MatNativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
726
- MatNativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatNativeDateModule, imports: [NativeDateModule] });
727
- MatNativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatNativeDateModule, providers: [{ provide: MAT_DATE_FORMATS, useValue: MAT_NATIVE_DATE_FORMATS }], imports: [[NativeDateModule]] });
728
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatNativeDateModule, decorators: [{
718
+ MatNativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatNativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
719
+ MatNativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatNativeDateModule, imports: [NativeDateModule] });
720
+ MatNativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.4", 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.4", ngImport: i0, type: MatNativeDateModule, decorators: [{
729
722
  type: NgModule,
730
723
  args: [{
731
724
  imports: [NativeDateModule],
@@ -746,9 +739,9 @@ class ShowOnDirtyErrorStateMatcher {
746
739
  return !!(control && control.invalid && (control.dirty || (form && form.submitted)));
747
740
  }
748
741
  }
749
- ShowOnDirtyErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
750
- ShowOnDirtyErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
742
+ ShowOnDirtyErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
743
+ ShowOnDirtyErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: ShowOnDirtyErrorStateMatcher });
744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: ShowOnDirtyErrorStateMatcher, decorators: [{
752
745
  type: Injectable
753
746
  }] });
754
747
  /** Provider that defines how form controls behave with regards to displaying error messages. */
@@ -757,9 +750,9 @@ class ErrorStateMatcher {
757
750
  return !!(control && control.invalid && (control.touched || (form && form.submitted)));
758
751
  }
759
752
  }
760
- ErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
761
- ErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
762
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: ErrorStateMatcher, decorators: [{
753
+ ErrorStateMatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: ErrorStateMatcher, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
754
+ ErrorStateMatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: ErrorStateMatcher, providedIn: 'root' });
755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: ErrorStateMatcher, decorators: [{
763
756
  type: Injectable,
764
757
  args: [{ providedIn: 'root' }]
765
758
  }] });
@@ -778,9 +771,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
778
771
  */
779
772
  class MatLine {
780
773
  }
781
- MatLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
782
- MatLine.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatLine, selector: "[mat-line], [matLine]", host: { classAttribute: "mat-line" }, ngImport: i0 });
783
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatLine, decorators: [{
774
+ MatLine.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatLine, deps: [], target: i0.ɵɵFactoryTarget.Directive });
775
+ MatLine.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: MatLine, selector: "[mat-line], [matLine]", host: { classAttribute: "mat-line" }, ngImport: i0 });
776
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatLine, decorators: [{
784
777
  type: Directive,
785
778
  args: [{
786
779
  selector: '[mat-line], [matLine]',
@@ -812,10 +805,10 @@ function setClass(element, className, isAdd) {
812
805
  }
813
806
  class MatLineModule {
814
807
  }
815
- MatLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
816
- MatLineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatLineModule, declarations: [MatLine], imports: [MatCommonModule], exports: [MatLine, MatCommonModule] });
817
- MatLineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatLineModule, imports: [[MatCommonModule], MatCommonModule] });
818
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatLineModule, decorators: [{
808
+ MatLineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatLineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
809
+ MatLineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.4", 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.4", ngImport: i0, type: MatLineModule, imports: [[MatCommonModule], MatCommonModule] });
811
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatLineModule, decorators: [{
819
812
  type: NgModule,
820
813
  args: [{
821
814
  imports: [MatCommonModule],
@@ -839,10 +832,13 @@ class RippleRef {
839
832
  /** Reference to the ripple HTML element. */
840
833
  element,
841
834
  /** Ripple configuration used for the ripple. */
842
- config) {
835
+ config,
836
+ /* Whether animations are forcibly disabled for ripples through CSS. */
837
+ _animationForciblyDisabledThroughCss = false) {
843
838
  this._renderer = _renderer;
844
839
  this.element = element;
845
840
  this.config = config;
841
+ this._animationForciblyDisabledThroughCss = _animationForciblyDisabledThroughCss;
846
842
  /** Current state of the ripple. */
847
843
  this.state = 3 /* HIDDEN */;
848
844
  }
@@ -911,7 +907,7 @@ class RippleRenderer {
911
907
  const radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
912
908
  const offsetX = x - containerRect.left;
913
909
  const offsetY = y - containerRect.top;
914
- const duration = animationConfig.enterDuration;
910
+ const enterDuration = animationConfig.enterDuration;
915
911
  const ripple = document.createElement('div');
916
912
  ripple.classList.add('mat-ripple-element');
917
913
  ripple.style.left = `${offsetX - radius}px`;
@@ -923,61 +919,73 @@ class RippleRenderer {
923
919
  if (config.color != null) {
924
920
  ripple.style.backgroundColor = config.color;
925
921
  }
926
- ripple.style.transitionDuration = `${duration}ms`;
922
+ ripple.style.transitionDuration = `${enterDuration}ms`;
927
923
  this._containerElement.appendChild(ripple);
928
924
  // By default the browser does not recalculate the styles of dynamically created
929
- // ripple elements. This is critical because then the `scale` would not animate properly.
930
- enforceStyleRecalculation(ripple);
931
- // We use a 3d transform here in order to avoid an issue in Safari where
925
+ // ripple elements. This is critical to ensure that the `scale` animates properly.
926
+ // We enforce a style recalculation by calling `getComputedStyle` and *accessing* a property.
927
+ // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
928
+ const computedStyles = window.getComputedStyle(ripple);
929
+ const userTransitionProperty = computedStyles.transitionProperty;
930
+ const userTransitionDuration = computedStyles.transitionDuration;
931
+ // Note: We detect whether animation is forcibly disabled through CSS by the use of
932
+ // `transition: none`. This is technically unexpected since animations are controlled
933
+ // through the animation config, but this exists for backwards compatibility. This logic does
934
+ // not need to be super accurate since it covers some edge cases which can be easily avoided by users.
935
+ const animationForciblyDisabledThroughCss = userTransitionProperty === 'none' ||
936
+ // Note: The canonical unit for serialized CSS `<time>` properties is seconds. Additionally
937
+ // some browsers expand the duration for every property (in our case `opacity` and `transform`).
938
+ userTransitionDuration === '0s' ||
939
+ userTransitionDuration === '0s, 0s';
940
+ // Exposed reference to the ripple that will be returned.
941
+ const rippleRef = new RippleRef(this, ripple, config, animationForciblyDisabledThroughCss);
942
+ // Start the enter animation by setting the transform/scale to 100%. The animation will
943
+ // execute as part of this statement because we forced a style recalculation before.
944
+ // Note: We use a 3d transform here in order to avoid an issue in Safari where
932
945
  // the ripples aren't clipped when inside the shadow DOM (see #24028).
933
946
  ripple.style.transform = 'scale3d(1, 1, 1)';
934
- // Exposed reference to the ripple that will be returned.
935
- const rippleRef = new RippleRef(this, ripple, config);
936
947
  rippleRef.state = 0 /* FADING_IN */;
937
948
  // Add the ripple reference to the list of all active ripples.
938
949
  this._activeRipples.add(rippleRef);
939
950
  if (!config.persistent) {
940
951
  this._mostRecentTransientRipple = rippleRef;
941
952
  }
942
- // Wait for the ripple element to be completely faded in.
943
- // Once it's faded in, the ripple can be hidden immediately if the mouse is released.
944
- this._runTimeoutOutsideZone(() => {
945
- const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
946
- rippleRef.state = 1 /* VISIBLE */;
947
- // When the timer runs out while the user has kept their pointer down, we want to
948
- // keep only the persistent ripples and the latest transient ripple. We do this,
949
- // because we don't want stacked transient ripples to appear after their enter
950
- // animation has finished.
951
- if (!config.persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
952
- rippleRef.fadeOut();
953
- }
954
- }, duration);
953
+ // Do not register the `transition` event listener if fade-in and fade-out duration
954
+ // are set to zero. The events won't fire anyway and we can save resources here.
955
+ if (!animationForciblyDisabledThroughCss && (enterDuration || animationConfig.exitDuration)) {
956
+ this._ngZone.runOutsideAngular(() => {
957
+ ripple.addEventListener('transitionend', () => this._finishRippleTransition(rippleRef));
958
+ // If the transition is cancelled (e.g. due to DOM removal), we destroy the ripple
959
+ // directly as otherwise we would keep it part of the ripple container forever.
960
+ // https://www.w3.org/TR/css-transitions-1/#:~:text=no%20longer%20in%20the%20document.
961
+ ripple.addEventListener('transitioncancel', () => this._destroyRipple(rippleRef));
962
+ });
963
+ }
964
+ // In case there is no fade-in transition duration, we need to manually call the transition
965
+ // end listener because `transitionend` doesn't fire if there is no transition.
966
+ if (animationForciblyDisabledThroughCss || !enterDuration) {
967
+ this._finishRippleTransition(rippleRef);
968
+ }
955
969
  return rippleRef;
956
970
  }
957
971
  /** Fades out a ripple reference. */
958
972
  fadeOutRipple(rippleRef) {
959
- const wasActive = this._activeRipples.delete(rippleRef);
960
- if (rippleRef === this._mostRecentTransientRipple) {
961
- this._mostRecentTransientRipple = null;
962
- }
963
- // Clear out the cached bounding rect if we have no more ripples.
964
- if (!this._activeRipples.size) {
965
- this._containerRect = null;
966
- }
967
- // For ripples that are not active anymore, don't re-run the fade-out animation.
968
- if (!wasActive) {
973
+ // For ripples already fading out or hidden, this should be a noop.
974
+ if (rippleRef.state === 2 /* FADING_OUT */ || rippleRef.state === 3 /* HIDDEN */) {
969
975
  return;
970
976
  }
971
977
  const rippleEl = rippleRef.element;
972
978
  const animationConfig = Object.assign(Object.assign({}, defaultRippleAnimationConfig), rippleRef.config.animation);
979
+ // This starts the fade-out transition and will fire the transition end listener that
980
+ // removes the ripple element from the DOM.
973
981
  rippleEl.style.transitionDuration = `${animationConfig.exitDuration}ms`;
974
982
  rippleEl.style.opacity = '0';
975
983
  rippleRef.state = 2 /* FADING_OUT */;
976
- // Once the ripple faded out, the ripple can be safely removed from the DOM.
977
- this._runTimeoutOutsideZone(() => {
978
- rippleRef.state = 3 /* HIDDEN */;
979
- rippleEl.remove();
980
- }, animationConfig.exitDuration);
984
+ // In case there is no fade-out transition duration, we need to manually call the
985
+ // transition end listener because `transitionend` doesn't fire if there is no transition.
986
+ if (rippleRef._animationForciblyDisabledThroughCss || !animationConfig.exitDuration) {
987
+ this._finishRippleTransition(rippleRef);
988
+ }
981
989
  }
982
990
  /** Fades out all currently active ripples. */
983
991
  fadeOutAll() {
@@ -1024,6 +1032,46 @@ class RippleRenderer {
1024
1032
  this._pointerUpEventsRegistered = true;
1025
1033
  }
1026
1034
  }
1035
+ /** Method that will be called if the fade-in or fade-in transition completed. */
1036
+ _finishRippleTransition(rippleRef) {
1037
+ if (rippleRef.state === 0 /* FADING_IN */) {
1038
+ this._startFadeOutTransition(rippleRef);
1039
+ }
1040
+ else if (rippleRef.state === 2 /* FADING_OUT */) {
1041
+ this._destroyRipple(rippleRef);
1042
+ }
1043
+ }
1044
+ /**
1045
+ * Starts the fade-out transition of the given ripple if it's not persistent and the pointer
1046
+ * is not held down anymore.
1047
+ */
1048
+ _startFadeOutTransition(rippleRef) {
1049
+ const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
1050
+ const { persistent } = rippleRef.config;
1051
+ rippleRef.state = 1 /* VISIBLE */;
1052
+ // When the timer runs out while the user has kept their pointer down, we want to
1053
+ // keep only the persistent ripples and the latest transient ripple. We do this,
1054
+ // because we don't want stacked transient ripples to appear after their enter
1055
+ // animation has finished.
1056
+ if (!persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
1057
+ rippleRef.fadeOut();
1058
+ }
1059
+ }
1060
+ /** Destroys the given ripple by removing it from the DOM and updating its state. */
1061
+ _destroyRipple(rippleRef) {
1062
+ this._activeRipples.delete(rippleRef);
1063
+ // Clear out the cached bounding rect if we have no more ripples.
1064
+ if (!this._activeRipples.size) {
1065
+ this._containerRect = null;
1066
+ }
1067
+ // If the current ref is the most recent transient ripple, unset it
1068
+ // avoid memory leaks.
1069
+ if (rippleRef === this._mostRecentTransientRipple) {
1070
+ this._mostRecentTransientRipple = null;
1071
+ }
1072
+ rippleRef.state = 3 /* HIDDEN */;
1073
+ rippleRef.element.remove();
1074
+ }
1027
1075
  /** Function being called whenever the trigger is being pressed using mouse. */
1028
1076
  _onMousedown(event) {
1029
1077
  // Screen readers will fire fake mouse events for space/enter. Skip launching a
@@ -1069,10 +1117,6 @@ class RippleRenderer {
1069
1117
  }
1070
1118
  });
1071
1119
  }
1072
- /** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */
1073
- _runTimeoutOutsideZone(fn, delay = 0) {
1074
- this._ngZone.runOutsideAngular(() => setTimeout(fn, delay));
1075
- }
1076
1120
  /** Registers event listeners for a given list of events. */
1077
1121
  _registerEvents(eventTypes) {
1078
1122
  this._ngZone.runOutsideAngular(() => {
@@ -1095,13 +1139,6 @@ class RippleRenderer {
1095
1139
  }
1096
1140
  }
1097
1141
  }
1098
- /** Enforces a style recalculation of a DOM element by computing its styles. */
1099
- function enforceStyleRecalculation(element) {
1100
- // Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
1101
- // Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
1102
- // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
1103
- window.getComputedStyle(element).getPropertyValue('opacity');
1104
- }
1105
1142
  /**
1106
1143
  * Returns the distance from the point (x, y) to the furthest corner of a rectangle.
1107
1144
  */
@@ -1205,9 +1242,9 @@ class MatRipple {
1205
1242
  }
1206
1243
  }
1207
1244
  }
1208
- MatRipple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.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 });
1209
- MatRipple.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.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 });
1210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRipple, decorators: [{
1245
+ MatRipple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", 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 });
1246
+ MatRipple.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", 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 });
1247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatRipple, decorators: [{
1211
1248
  type: Directive,
1212
1249
  args: [{
1213
1250
  selector: '[mat-ripple], [matRipple]',
@@ -1261,13 +1298,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1261
1298
  */
1262
1299
  class MatRippleModule {
1263
1300
  }
1264
- MatRippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1265
- MatRippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, declarations: [MatRipple], imports: [MatCommonModule, PlatformModule], exports: [MatRipple, MatCommonModule] });
1266
- MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule, PlatformModule], MatCommonModule] });
1267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, decorators: [{
1301
+ MatRippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1302
+ MatRippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatRippleModule, declarations: [MatRipple], imports: [MatCommonModule], exports: [MatRipple, MatCommonModule] });
1303
+ MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule], MatCommonModule] });
1304
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatRippleModule, decorators: [{
1268
1305
  type: NgModule,
1269
1306
  args: [{
1270
- imports: [MatCommonModule, PlatformModule],
1307
+ imports: [MatCommonModule],
1271
1308
  exports: [MatRipple, MatCommonModule],
1272
1309
  declarations: [MatRipple],
1273
1310
  }]
@@ -1302,9 +1339,9 @@ class MatPseudoCheckbox {
1302
1339
  this.disabled = false;
1303
1340
  }
1304
1341
  }
1305
- MatPseudoCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPseudoCheckbox, deps: [{ token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1306
- MatPseudoCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.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 });
1307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPseudoCheckbox, decorators: [{
1342
+ MatPseudoCheckbox.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatPseudoCheckbox, deps: [{ token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1343
+ MatPseudoCheckbox.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.4", 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 });
1344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatPseudoCheckbox, decorators: [{
1308
1345
  type: Component,
1309
1346
  args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'mat-pseudo-checkbox', template: '', host: {
1310
1347
  'class': 'mat-pseudo-checkbox',
@@ -1335,10 +1372,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1335
1372
  */
1336
1373
  class MatPseudoCheckboxModule {
1337
1374
  }
1338
- MatPseudoCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1339
- MatPseudoCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPseudoCheckboxModule, declarations: [MatPseudoCheckbox], imports: [MatCommonModule], exports: [MatPseudoCheckbox] });
1340
- MatPseudoCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPseudoCheckboxModule, imports: [[MatCommonModule]] });
1341
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatPseudoCheckboxModule, decorators: [{
1375
+ MatPseudoCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatPseudoCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1376
+ MatPseudoCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatPseudoCheckboxModule, declarations: [MatPseudoCheckbox], imports: [MatCommonModule], exports: [MatPseudoCheckbox] });
1377
+ MatPseudoCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatPseudoCheckboxModule, imports: [[MatCommonModule]] });
1378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatPseudoCheckboxModule, decorators: [{
1342
1379
  type: NgModule,
1343
1380
  args: [{
1344
1381
  imports: [MatCommonModule],
@@ -1408,9 +1445,9 @@ class _MatOptgroupBase extends _MatOptgroupMixinBase {
1408
1445
  this._inert = (_a = parent === null || parent === void 0 ? void 0 : parent.inertGroups) !== null && _a !== void 0 ? _a : false;
1409
1446
  }
1410
1447
  }
1411
- _MatOptgroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatOptgroupBase, deps: [{ token: MAT_OPTION_PARENT_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1412
- _MatOptgroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatOptgroupBase, inputs: { label: "label" }, usesInheritance: true, ngImport: i0 });
1413
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatOptgroupBase, decorators: [{
1448
+ _MatOptgroupBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: _MatOptgroupBase, deps: [{ token: MAT_OPTION_PARENT_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1449
+ _MatOptgroupBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: _MatOptgroupBase, inputs: { label: "label" }, usesInheritance: true, ngImport: i0 });
1450
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: _MatOptgroupBase, decorators: [{
1414
1451
  type: Directive
1415
1452
  }], ctorParameters: function () {
1416
1453
  return [{ type: undefined, decorators: [{
@@ -1433,9 +1470,9 @@ const MAT_OPTGROUP = new InjectionToken('MatOptgroup');
1433
1470
  */
1434
1471
  class MatOptgroup extends _MatOptgroupBase {
1435
1472
  }
1436
- MatOptgroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
1437
- MatOptgroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.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;-moz-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 });
1438
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatOptgroup, decorators: [{
1473
+ MatOptgroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatOptgroup, deps: null, target: i0.ɵɵFactoryTarget.Component });
1474
+ MatOptgroup.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.4", 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;-moz-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 });
1475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatOptgroup, decorators: [{
1439
1476
  type: Component,
1440
1477
  args: [{ selector: 'mat-optgroup', exportAs: 'matOptgroup', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], host: {
1441
1478
  'class': 'mat-optgroup',
@@ -1632,9 +1669,9 @@ class _MatOptionBase {
1632
1669
  this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));
1633
1670
  }
1634
1671
  }
1635
- _MatOptionBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatOptionBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1636
- _MatOptionBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatOptionBase, inputs: { value: "value", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, ngImport: i0 });
1637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatOptionBase, decorators: [{
1672
+ _MatOptionBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: _MatOptionBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
1673
+ _MatOptionBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.4", type: _MatOptionBase, inputs: { value: "value", id: "id", disabled: "disabled" }, outputs: { onSelectionChange: "onSelectionChange" }, ngImport: i0 });
1674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: _MatOptionBase, decorators: [{
1638
1675
  type: Directive
1639
1676
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined }, { type: _MatOptgroupBase }]; }, propDecorators: { value: [{
1640
1677
  type: Input
@@ -1653,9 +1690,9 @@ class MatOption extends _MatOptionBase {
1653
1690
  super(element, changeDetectorRef, parent, group);
1654
1691
  }
1655
1692
  }
1656
- MatOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.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 });
1657
- MatOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.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;-moz-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 });
1658
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatOption, decorators: [{
1693
+ MatOption.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", 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 });
1694
+ MatOption.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.4", 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;-moz-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 });
1695
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatOption, decorators: [{
1659
1696
  type: Component,
1660
1697
  args: [{ selector: 'mat-option', exportAs: 'matOption', host: {
1661
1698
  'role': 'option',
@@ -1732,10 +1769,10 @@ function _getOptionScrollPosition(optionOffset, optionHeight, currentScrollPosit
1732
1769
  */
1733
1770
  class MatOptionModule {
1734
1771
  }
1735
- MatOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1736
- MatOptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatOptionModule, declarations: [MatOption, MatOptgroup], imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule], exports: [MatOption, MatOptgroup] });
1737
- MatOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatOptionModule, imports: [[MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule]] });
1738
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatOptionModule, decorators: [{
1772
+ MatOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1773
+ MatOptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatOptionModule, declarations: [MatOption, MatOptgroup], imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule], exports: [MatOption, MatOptgroup] });
1774
+ MatOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatOptionModule, imports: [[MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule]] });
1775
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.4", ngImport: i0, type: MatOptionModule, decorators: [{
1739
1776
  type: NgModule,
1740
1777
  args: [{
1741
1778
  imports: [MatRippleModule, CommonModule, MatCommonModule, MatPseudoCheckboxModule],