@angular/material 14.0.0-next.0 → 14.0.0-next.11

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 (542) hide show
  1. package/_index.scss +20 -1
  2. package/autocomplete/autocomplete-trigger.d.ts +14 -3
  3. package/autocomplete/autocomplete.d.ts +7 -1
  4. package/badge/_badge-theme.scss +11 -2
  5. package/button-toggle/_button-toggle-theme.scss +14 -2
  6. package/checkbox/_checkbox-theme.scss +1 -1
  7. package/checkbox/checkbox.d.ts +1 -1
  8. package/checkbox/testing/checkbox-harness-filters.d.ts +2 -0
  9. package/chips/chip-input.d.ts +2 -5
  10. package/chips/chip-list.d.ts +21 -6
  11. package/chips/chip.d.ts +4 -4
  12. package/core/_core.scss +5 -7
  13. package/core/common-behaviors/error-state.d.ts +1 -2
  14. package/core/datetime/index.d.ts +1 -2
  15. package/core/ripple/_ripple.scss +2 -2
  16. package/core/ripple/index.d.ts +1 -2
  17. package/core/ripple/ripple-ref.d.ts +2 -1
  18. package/core/ripple/ripple-renderer.d.ts +16 -3
  19. package/core/style/_menu-common.scss +3 -2
  20. package/core/style/_vendor-prefixes.scss +1 -17
  21. package/core/theming/_theming.scss +9 -0
  22. package/core/typography/_typography.scss +51 -14
  23. package/datepicker/calendar-body.d.ts +34 -4
  24. package/datepicker/date-range-input-parts.d.ts +4 -1
  25. package/datepicker/datepicker-base.d.ts +2 -0
  26. package/datepicker/month-view.d.ts +18 -0
  27. package/datepicker/multi-year-view.d.ts +18 -0
  28. package/datepicker/year-view.d.ts +18 -0
  29. package/dialog/dialog-animations.d.ts +10 -0
  30. package/dialog/dialog-config.d.ts +12 -1
  31. package/dialog/dialog-container.d.ts +12 -4
  32. package/dialog/dialog-content-directives.d.ts +5 -1
  33. package/dialog/dialog.d.ts +12 -6
  34. package/dialog/public-api.d.ts +1 -1
  35. package/dialog/testing/dialog-opener.d.ts +33 -0
  36. package/dialog/testing/public-api.d.ts +1 -0
  37. package/esm2020/autocomplete/autocomplete-module.mjs +5 -5
  38. package/esm2020/autocomplete/autocomplete-origin.mjs +7 -7
  39. package/esm2020/autocomplete/autocomplete-trigger.mjs +96 -49
  40. package/esm2020/autocomplete/autocomplete.mjs +19 -9
  41. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +7 -1
  42. package/esm2020/badge/badge-module.mjs +5 -5
  43. package/esm2020/badge/badge.mjs +4 -4
  44. package/esm2020/bottom-sheet/bottom-sheet-animations.mjs +10 -4
  45. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +12 -7
  46. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +5 -5
  47. package/esm2020/bottom-sheet/bottom-sheet.mjs +4 -4
  48. package/esm2020/button/button-module.mjs +5 -5
  49. package/esm2020/button/button.mjs +10 -10
  50. package/esm2020/button-toggle/button-toggle-module.mjs +5 -5
  51. package/esm2020/button-toggle/button-toggle.mjs +8 -8
  52. package/esm2020/card/card-module.mjs +5 -5
  53. package/esm2020/card/card.mjs +44 -44
  54. package/esm2020/checkbox/checkbox-module.mjs +9 -9
  55. package/esm2020/checkbox/checkbox-required-validator.mjs +4 -4
  56. package/esm2020/checkbox/checkbox.mjs +12 -8
  57. package/esm2020/checkbox/testing/checkbox-harness-filters.mjs +1 -1
  58. package/esm2020/checkbox/testing/checkbox-harness.mjs +3 -2
  59. package/esm2020/chips/chip-input.mjs +4 -4
  60. package/esm2020/chips/chip-list.mjs +34 -9
  61. package/esm2020/chips/chip.mjs +20 -17
  62. package/esm2020/chips/chips-module.mjs +5 -5
  63. package/esm2020/core/common-behaviors/common-module.mjs +5 -5
  64. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  65. package/esm2020/core/datetime/index.mjs +9 -11
  66. package/esm2020/core/datetime/native-date-adapter.mjs +4 -4
  67. package/esm2020/core/error/error-options.mjs +7 -7
  68. package/esm2020/core/line/line.mjs +8 -8
  69. package/esm2020/core/option/index.mjs +5 -5
  70. package/esm2020/core/option/optgroup.mjs +8 -8
  71. package/esm2020/core/option/option.mjs +8 -8
  72. package/esm2020/core/ripple/index.mjs +6 -7
  73. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  74. package/esm2020/core/ripple/ripple-renderer.mjs +112 -54
  75. package/esm2020/core/ripple/ripple.mjs +4 -4
  76. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +5 -5
  77. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +5 -5
  78. package/esm2020/core/version.mjs +1 -1
  79. package/esm2020/datepicker/calendar-body.mjs +57 -12
  80. package/esm2020/datepicker/calendar.mjs +26 -15
  81. package/esm2020/datepicker/date-range-input-parts.mjs +10 -10
  82. package/esm2020/datepicker/date-range-input.mjs +6 -6
  83. package/esm2020/datepicker/date-range-picker.mjs +4 -4
  84. package/esm2020/datepicker/date-range-selection-strategy.mjs +4 -4
  85. package/esm2020/datepicker/date-selection-model.mjs +10 -10
  86. package/esm2020/datepicker/datepicker-actions.mjs +12 -12
  87. package/esm2020/datepicker/datepicker-base.mjs +9 -17
  88. package/esm2020/datepicker/datepicker-input-base.mjs +12 -7
  89. package/esm2020/datepicker/datepicker-input.mjs +4 -4
  90. package/esm2020/datepicker/datepicker-intl.mjs +4 -4
  91. package/esm2020/datepicker/datepicker-module.mjs +5 -5
  92. package/esm2020/datepicker/datepicker-toggle.mjs +8 -8
  93. package/esm2020/datepicker/datepicker.mjs +4 -4
  94. package/esm2020/datepicker/month-view.mjs +36 -9
  95. package/esm2020/datepicker/multi-year-view.mjs +42 -10
  96. package/esm2020/datepicker/year-view.mjs +41 -10
  97. package/esm2020/dialog/dialog-animations.mjs +17 -4
  98. package/esm2020/dialog/dialog-config.mjs +8 -1
  99. package/esm2020/dialog/dialog-container.mjs +44 -26
  100. package/esm2020/dialog/dialog-content-directives.mjs +31 -15
  101. package/esm2020/dialog/dialog-module.mjs +5 -5
  102. package/esm2020/dialog/dialog.mjs +24 -40
  103. package/esm2020/dialog/public-api.mjs +2 -2
  104. package/esm2020/dialog/testing/dialog-opener.mjs +67 -0
  105. package/esm2020/dialog/testing/public-api.mjs +2 -1
  106. package/esm2020/divider/divider-module.mjs +5 -5
  107. package/esm2020/divider/divider.mjs +5 -5
  108. package/esm2020/expansion/accordion.mjs +4 -4
  109. package/esm2020/expansion/expansion-module.mjs +5 -5
  110. package/esm2020/expansion/expansion-panel-base.mjs +14 -0
  111. package/esm2020/expansion/expansion-panel-content.mjs +14 -7
  112. package/esm2020/expansion/expansion-panel-header.mjs +11 -11
  113. package/esm2020/expansion/expansion-panel.mjs +13 -10
  114. package/esm2020/expansion/public-api.mjs +2 -1
  115. package/esm2020/form-field/error.mjs +4 -4
  116. package/esm2020/form-field/form-field-control.mjs +4 -4
  117. package/esm2020/form-field/form-field-module.mjs +5 -5
  118. package/esm2020/form-field/form-field.mjs +22 -14
  119. package/esm2020/form-field/hint.mjs +4 -4
  120. package/esm2020/form-field/label.mjs +4 -4
  121. package/esm2020/form-field/placeholder.mjs +4 -4
  122. package/esm2020/form-field/prefix.mjs +4 -4
  123. package/esm2020/form-field/suffix.mjs +4 -4
  124. package/esm2020/form-field/testing/public-api.mjs +4 -4
  125. package/esm2020/grid-list/grid-list-module.mjs +5 -5
  126. package/esm2020/grid-list/grid-list.mjs +6 -6
  127. package/esm2020/grid-list/grid-tile.mjs +17 -17
  128. package/esm2020/icon/icon-module.mjs +5 -5
  129. package/esm2020/icon/icon-registry.mjs +12 -14
  130. package/esm2020/icon/icon.mjs +31 -28
  131. package/esm2020/icon/testing/fake-icon-registry.mjs +9 -9
  132. package/esm2020/input/input-module.mjs +5 -5
  133. package/esm2020/input/input.mjs +41 -24
  134. package/esm2020/list/list-module.mjs +5 -5
  135. package/esm2020/list/list.mjs +21 -23
  136. package/esm2020/list/selection-list.mjs +15 -38
  137. package/esm2020/list/testing/list-item-harness-base.mjs +1 -9
  138. package/esm2020/menu/menu-content.mjs +7 -7
  139. package/esm2020/menu/menu-errors.mjs +1 -12
  140. package/esm2020/menu/menu-item.mjs +8 -4
  141. package/esm2020/menu/menu-module.mjs +5 -5
  142. package/esm2020/menu/menu-trigger.mjs +79 -65
  143. package/esm2020/menu/menu.mjs +35 -14
  144. package/esm2020/paginator/paginator-intl.mjs +4 -4
  145. package/esm2020/paginator/paginator-module.mjs +5 -5
  146. package/esm2020/paginator/paginator.mjs +12 -8
  147. package/esm2020/paginator/testing/paginator-harness.mjs +11 -1
  148. package/esm2020/progress-bar/progress-bar-module.mjs +5 -5
  149. package/esm2020/progress-bar/progress-bar.mjs +8 -5
  150. package/esm2020/progress-spinner/progress-spinner-module.mjs +8 -8
  151. package/esm2020/progress-spinner/progress-spinner.mjs +14 -51
  152. package/esm2020/progress-spinner/public-api.mjs +10 -2
  153. package/esm2020/radio/radio-module.mjs +5 -5
  154. package/esm2020/radio/radio.mjs +42 -14
  155. package/esm2020/radio/testing/radio-harness-filters.mjs +1 -1
  156. package/esm2020/radio/testing/radio-harness.mjs +3 -2
  157. package/esm2020/select/select-module.mjs +5 -5
  158. package/esm2020/select/select.mjs +66 -28
  159. package/esm2020/sidenav/drawer.mjs +19 -14
  160. package/esm2020/sidenav/sidenav-module.mjs +7 -8
  161. package/esm2020/sidenav/sidenav.mjs +12 -12
  162. package/esm2020/slide-toggle/slide-toggle-module.mjs +9 -9
  163. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +4 -4
  164. package/esm2020/slide-toggle/slide-toggle.mjs +6 -5
  165. package/esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs +1 -1
  166. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +4 -2
  167. package/esm2020/slider/slider-module.mjs +5 -5
  168. package/esm2020/slider/slider.mjs +15 -8
  169. package/esm2020/snack-bar/simple-snack-bar.mjs +5 -5
  170. package/esm2020/snack-bar/snack-bar-container.mjs +24 -18
  171. package/esm2020/snack-bar/snack-bar-module.mjs +5 -5
  172. package/esm2020/snack-bar/snack-bar.mjs +7 -7
  173. package/esm2020/sort/sort-header-intl.mjs +4 -4
  174. package/esm2020/sort/sort-header.mjs +16 -8
  175. package/esm2020/sort/sort-module.mjs +5 -5
  176. package/esm2020/sort/sort.mjs +4 -4
  177. package/esm2020/stepper/public-api.mjs +2 -2
  178. package/esm2020/stepper/step-content.mjs +4 -4
  179. package/esm2020/stepper/step-header.mjs +5 -5
  180. package/esm2020/stepper/step-label.mjs +4 -4
  181. package/esm2020/stepper/stepper-animations.mjs +9 -3
  182. package/esm2020/stepper/stepper-button.mjs +7 -7
  183. package/esm2020/stepper/stepper-icon.mjs +4 -4
  184. package/esm2020/stepper/stepper-intl.mjs +4 -4
  185. package/esm2020/stepper/stepper-module.mjs +6 -10
  186. package/esm2020/stepper/stepper.mjs +39 -63
  187. package/esm2020/table/cell.mjs +22 -22
  188. package/esm2020/table/row.mjs +22 -22
  189. package/esm2020/table/table-module.mjs +5 -5
  190. package/esm2020/table/table.mjs +9 -9
  191. package/esm2020/table/text-column.mjs +4 -4
  192. package/esm2020/tabs/ink-bar.mjs +11 -22
  193. package/esm2020/tabs/paginated-tab-header.mjs +27 -13
  194. package/esm2020/tabs/tab-body.mjs +18 -12
  195. package/esm2020/tabs/tab-config.mjs +1 -1
  196. package/esm2020/tabs/tab-content.mjs +4 -4
  197. package/esm2020/tabs/tab-group.mjs +55 -11
  198. package/esm2020/tabs/tab-header.mjs +8 -8
  199. package/esm2020/tabs/tab-label-wrapper.mjs +4 -4
  200. package/esm2020/tabs/tab-label.mjs +4 -4
  201. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +18 -18
  202. package/esm2020/tabs/tab.mjs +4 -4
  203. package/esm2020/tabs/tabs-animations.mjs +16 -6
  204. package/esm2020/tabs/tabs-module.mjs +5 -5
  205. package/esm2020/toolbar/toolbar-module.mjs +5 -5
  206. package/esm2020/toolbar/toolbar.mjs +8 -8
  207. package/esm2020/tooltip/testing/tooltip-harness.mjs +12 -7
  208. package/esm2020/tooltip/tooltip-module.mjs +5 -5
  209. package/esm2020/tooltip/tooltip.mjs +126 -51
  210. package/esm2020/tree/node.mjs +10 -10
  211. package/esm2020/tree/outlet.mjs +4 -4
  212. package/esm2020/tree/padding.mjs +4 -4
  213. package/esm2020/tree/toggle.mjs +4 -4
  214. package/esm2020/tree/tree-module.mjs +5 -5
  215. package/esm2020/tree/tree.mjs +5 -5
  216. package/expansion/expansion-panel-base.d.ts +22 -0
  217. package/expansion/expansion-panel-content.d.ts +4 -2
  218. package/expansion/public-api.d.ts +1 -0
  219. package/fesm2015/autocomplete/testing.mjs +6 -0
  220. package/fesm2015/autocomplete/testing.mjs.map +1 -1
  221. package/fesm2015/autocomplete.mjs +125 -67
  222. package/fesm2015/autocomplete.mjs.map +1 -1
  223. package/fesm2015/badge/testing.mjs.map +1 -1
  224. package/fesm2015/badge.mjs +7 -7
  225. package/fesm2015/badge.mjs.map +1 -1
  226. package/fesm2015/bottom-sheet/testing.mjs.map +1 -1
  227. package/fesm2015/bottom-sheet.mjs +27 -16
  228. package/fesm2015/bottom-sheet.mjs.map +1 -1
  229. package/fesm2015/button/testing.mjs.map +1 -1
  230. package/fesm2015/button-toggle/testing.mjs.map +1 -1
  231. package/fesm2015/button-toggle.mjs +11 -11
  232. package/fesm2015/button-toggle.mjs.map +1 -1
  233. package/fesm2015/button.mjs +13 -13
  234. package/fesm2015/button.mjs.map +1 -1
  235. package/fesm2015/card/testing.mjs.map +1 -1
  236. package/fesm2015/card.mjs +47 -47
  237. package/fesm2015/card.mjs.map +1 -1
  238. package/fesm2015/checkbox/testing.mjs +2 -1
  239. package/fesm2015/checkbox/testing.mjs.map +1 -1
  240. package/fesm2015/checkbox.mjs +22 -18
  241. package/fesm2015/checkbox.mjs.map +1 -1
  242. package/fesm2015/chips/testing.mjs.map +1 -1
  243. package/fesm2015/chips.mjs +59 -31
  244. package/fesm2015/chips.mjs.map +1 -1
  245. package/fesm2015/core/testing.mjs.map +1 -1
  246. package/fesm2015/core.mjs +181 -126
  247. package/fesm2015/core.mjs.map +1 -1
  248. package/fesm2015/datepicker/testing.mjs.map +1 -1
  249. package/fesm2015/datepicker.mjs +273 -130
  250. package/fesm2015/datepicker.mjs.map +1 -1
  251. package/fesm2015/dialog/testing.mjs +65 -2
  252. package/fesm2015/dialog/testing.mjs.map +1 -1
  253. package/fesm2015/dialog.mjs +144 -106
  254. package/fesm2015/dialog.mjs.map +1 -1
  255. package/fesm2015/divider/testing.mjs.map +1 -1
  256. package/fesm2015/divider.mjs +8 -8
  257. package/fesm2015/divider.mjs.map +1 -1
  258. package/fesm2015/expansion/testing.mjs.map +1 -1
  259. package/fesm2015/expansion.mjs +56 -33
  260. package/fesm2015/expansion.mjs.map +1 -1
  261. package/fesm2015/form-field/testing/control.mjs.map +1 -1
  262. package/fesm2015/form-field/testing.mjs +1 -1
  263. package/fesm2015/form-field/testing.mjs.map +1 -1
  264. package/fesm2015/form-field.mjs +47 -38
  265. package/fesm2015/form-field.mjs.map +1 -1
  266. package/fesm2015/grid-list/testing.mjs.map +1 -1
  267. package/fesm2015/grid-list.mjs +25 -25
  268. package/fesm2015/grid-list.mjs.map +1 -1
  269. package/fesm2015/icon/testing.mjs +8 -8
  270. package/fesm2015/icon/testing.mjs.map +1 -1
  271. package/fesm2015/icon.mjs +45 -44
  272. package/fesm2015/icon.mjs.map +1 -1
  273. package/fesm2015/input/testing.mjs.map +1 -1
  274. package/fesm2015/input.mjs +45 -28
  275. package/fesm2015/input.mjs.map +1 -1
  276. package/fesm2015/list/testing.mjs +0 -10
  277. package/fesm2015/list/testing.mjs.map +1 -1
  278. package/fesm2015/list.mjs +41 -67
  279. package/fesm2015/list.mjs.map +1 -1
  280. package/fesm2015/material.mjs.map +1 -1
  281. package/fesm2015/menu/testing.mjs.map +1 -1
  282. package/fesm2015/menu.mjs +131 -99
  283. package/fesm2015/menu.mjs.map +1 -1
  284. package/fesm2015/paginator/testing.mjs +14 -0
  285. package/fesm2015/paginator/testing.mjs.map +1 -1
  286. package/fesm2015/paginator.mjs +18 -14
  287. package/fesm2015/paginator.mjs.map +1 -1
  288. package/fesm2015/progress-bar/testing.mjs.map +1 -1
  289. package/fesm2015/progress-bar.mjs +11 -8
  290. package/fesm2015/progress-bar.mjs.map +1 -1
  291. package/fesm2015/progress-spinner/testing.mjs.map +1 -1
  292. package/fesm2015/progress-spinner.mjs +31 -63
  293. package/fesm2015/progress-spinner.mjs.map +1 -1
  294. package/fesm2015/radio/testing.mjs +2 -1
  295. package/fesm2015/radio/testing.mjs.map +1 -1
  296. package/fesm2015/radio.mjs +46 -17
  297. package/fesm2015/radio.mjs.map +1 -1
  298. package/fesm2015/select/testing.mjs.map +1 -1
  299. package/fesm2015/select.mjs +70 -32
  300. package/fesm2015/select.mjs.map +1 -1
  301. package/fesm2015/sidenav/testing.mjs.map +1 -1
  302. package/fesm2015/sidenav.mjs +36 -32
  303. package/fesm2015/sidenav.mjs.map +1 -1
  304. package/fesm2015/slide-toggle/testing.mjs +3 -1
  305. package/fesm2015/slide-toggle/testing.mjs.map +1 -1
  306. package/fesm2015/slide-toggle.mjs +16 -15
  307. package/fesm2015/slide-toggle.mjs.map +1 -1
  308. package/fesm2015/slider/testing.mjs.map +1 -1
  309. package/fesm2015/slider.mjs +18 -11
  310. package/fesm2015/slider.mjs.map +1 -1
  311. package/fesm2015/snack-bar/testing.mjs.map +1 -1
  312. package/fesm2015/snack-bar.mjs +37 -31
  313. package/fesm2015/snack-bar.mjs.map +1 -1
  314. package/fesm2015/sort/testing.mjs.map +1 -1
  315. package/fesm2015/sort.mjs +128 -120
  316. package/fesm2015/sort.mjs.map +1 -1
  317. package/fesm2015/stepper/testing.mjs.map +1 -1
  318. package/fesm2015/stepper.mjs +72 -93
  319. package/fesm2015/stepper.mjs.map +1 -1
  320. package/fesm2015/table/testing.mjs.map +1 -1
  321. package/fesm2015/table.mjs +57 -57
  322. package/fesm2015/table.mjs.map +1 -1
  323. package/fesm2015/tabs/testing.mjs.map +1 -1
  324. package/fesm2015/tabs.mjs +162 -99
  325. package/fesm2015/tabs.mjs.map +1 -1
  326. package/fesm2015/toolbar/testing.mjs.map +1 -1
  327. package/fesm2015/toolbar.mjs +11 -11
  328. package/fesm2015/toolbar.mjs.map +1 -1
  329. package/fesm2015/tooltip/testing.mjs +11 -8
  330. package/fesm2015/tooltip/testing.mjs.map +1 -1
  331. package/fesm2015/tooltip.mjs +154 -79
  332. package/fesm2015/tooltip.mjs.map +1 -1
  333. package/fesm2015/tree/testing.mjs.map +1 -1
  334. package/fesm2015/tree.mjs +26 -26
  335. package/fesm2015/tree.mjs.map +1 -1
  336. package/fesm2020/autocomplete/testing.mjs +6 -0
  337. package/fesm2020/autocomplete/testing.mjs.map +1 -1
  338. package/fesm2020/autocomplete.mjs +124 -67
  339. package/fesm2020/autocomplete.mjs.map +1 -1
  340. package/fesm2020/badge/testing.mjs.map +1 -1
  341. package/fesm2020/badge.mjs +7 -7
  342. package/fesm2020/badge.mjs.map +1 -1
  343. package/fesm2020/bottom-sheet/testing.mjs.map +1 -1
  344. package/fesm2020/bottom-sheet.mjs +27 -16
  345. package/fesm2020/bottom-sheet.mjs.map +1 -1
  346. package/fesm2020/button/testing.mjs.map +1 -1
  347. package/fesm2020/button-toggle/testing.mjs.map +1 -1
  348. package/fesm2020/button-toggle.mjs +11 -11
  349. package/fesm2020/button-toggle.mjs.map +1 -1
  350. package/fesm2020/button.mjs +13 -13
  351. package/fesm2020/button.mjs.map +1 -1
  352. package/fesm2020/card/testing.mjs.map +1 -1
  353. package/fesm2020/card.mjs +47 -47
  354. package/fesm2020/card.mjs.map +1 -1
  355. package/fesm2020/checkbox/testing.mjs +2 -1
  356. package/fesm2020/checkbox/testing.mjs.map +1 -1
  357. package/fesm2020/checkbox.mjs +22 -18
  358. package/fesm2020/checkbox.mjs.map +1 -1
  359. package/fesm2020/chips/testing.mjs.map +1 -1
  360. package/fesm2020/chips.mjs +59 -31
  361. package/fesm2020/chips.mjs.map +1 -1
  362. package/fesm2020/core/testing.mjs.map +1 -1
  363. package/fesm2020/core.mjs +180 -126
  364. package/fesm2020/core.mjs.map +1 -1
  365. package/fesm2020/datepicker/testing.mjs.map +1 -1
  366. package/fesm2020/datepicker.mjs +273 -130
  367. package/fesm2020/datepicker.mjs.map +1 -1
  368. package/fesm2020/dialog/testing.mjs +65 -1
  369. package/fesm2020/dialog/testing.mjs.map +1 -1
  370. package/fesm2020/dialog.mjs +143 -106
  371. package/fesm2020/dialog.mjs.map +1 -1
  372. package/fesm2020/divider/testing.mjs.map +1 -1
  373. package/fesm2020/divider.mjs +8 -8
  374. package/fesm2020/divider.mjs.map +1 -1
  375. package/fesm2020/expansion/testing.mjs.map +1 -1
  376. package/fesm2020/expansion.mjs +54 -33
  377. package/fesm2020/expansion.mjs.map +1 -1
  378. package/fesm2020/form-field/testing/control.mjs.map +1 -1
  379. package/fesm2020/form-field/testing.mjs +1 -1
  380. package/fesm2020/form-field/testing.mjs.map +1 -1
  381. package/fesm2020/form-field.mjs +46 -38
  382. package/fesm2020/form-field.mjs.map +1 -1
  383. package/fesm2020/grid-list/testing.mjs.map +1 -1
  384. package/fesm2020/grid-list.mjs +25 -25
  385. package/fesm2020/grid-list.mjs.map +1 -1
  386. package/fesm2020/icon/testing.mjs +8 -8
  387. package/fesm2020/icon/testing.mjs.map +1 -1
  388. package/fesm2020/icon.mjs +45 -44
  389. package/fesm2020/icon.mjs.map +1 -1
  390. package/fesm2020/input/testing.mjs.map +1 -1
  391. package/fesm2020/input.mjs +44 -27
  392. package/fesm2020/input.mjs.map +1 -1
  393. package/fesm2020/list/testing.mjs +0 -8
  394. package/fesm2020/list/testing.mjs.map +1 -1
  395. package/fesm2020/list.mjs +38 -63
  396. package/fesm2020/list.mjs.map +1 -1
  397. package/fesm2020/material.mjs.map +1 -1
  398. package/fesm2020/menu/testing.mjs.map +1 -1
  399. package/fesm2020/menu.mjs +127 -99
  400. package/fesm2020/menu.mjs.map +1 -1
  401. package/fesm2020/paginator/testing.mjs +10 -0
  402. package/fesm2020/paginator/testing.mjs.map +1 -1
  403. package/fesm2020/paginator.mjs +18 -14
  404. package/fesm2020/paginator.mjs.map +1 -1
  405. package/fesm2020/progress-bar/testing.mjs.map +1 -1
  406. package/fesm2020/progress-bar.mjs +11 -8
  407. package/fesm2020/progress-bar.mjs.map +1 -1
  408. package/fesm2020/progress-spinner/testing.mjs.map +1 -1
  409. package/fesm2020/progress-spinner.mjs +31 -61
  410. package/fesm2020/progress-spinner.mjs.map +1 -1
  411. package/fesm2020/radio/testing.mjs +2 -1
  412. package/fesm2020/radio/testing.mjs.map +1 -1
  413. package/fesm2020/radio.mjs +45 -17
  414. package/fesm2020/radio.mjs.map +1 -1
  415. package/fesm2020/select/testing.mjs.map +1 -1
  416. package/fesm2020/select.mjs +70 -32
  417. package/fesm2020/select.mjs.map +1 -1
  418. package/fesm2020/sidenav/testing.mjs.map +1 -1
  419. package/fesm2020/sidenav.mjs +36 -32
  420. package/fesm2020/sidenav.mjs.map +1 -1
  421. package/fesm2020/slide-toggle/testing.mjs +3 -1
  422. package/fesm2020/slide-toggle/testing.mjs.map +1 -1
  423. package/fesm2020/slide-toggle.mjs +16 -15
  424. package/fesm2020/slide-toggle.mjs.map +1 -1
  425. package/fesm2020/slider/testing.mjs.map +1 -1
  426. package/fesm2020/slider.mjs +18 -11
  427. package/fesm2020/slider.mjs.map +1 -1
  428. package/fesm2020/snack-bar/testing.mjs.map +1 -1
  429. package/fesm2020/snack-bar.mjs +37 -31
  430. package/fesm2020/snack-bar.mjs.map +1 -1
  431. package/fesm2020/sort/testing.mjs.map +1 -1
  432. package/fesm2020/sort.mjs +24 -16
  433. package/fesm2020/sort.mjs.map +1 -1
  434. package/fesm2020/stepper/testing.mjs.map +1 -1
  435. package/fesm2020/stepper.mjs +72 -93
  436. package/fesm2020/stepper.mjs.map +1 -1
  437. package/fesm2020/table/testing.mjs.map +1 -1
  438. package/fesm2020/table.mjs +57 -57
  439. package/fesm2020/table.mjs.map +1 -1
  440. package/fesm2020/tabs/testing.mjs.map +1 -1
  441. package/fesm2020/tabs.mjs +161 -99
  442. package/fesm2020/tabs.mjs.map +1 -1
  443. package/fesm2020/toolbar/testing.mjs.map +1 -1
  444. package/fesm2020/toolbar.mjs +11 -11
  445. package/fesm2020/toolbar.mjs.map +1 -1
  446. package/fesm2020/tooltip/testing.mjs +11 -6
  447. package/fesm2020/tooltip/testing.mjs.map +1 -1
  448. package/fesm2020/tooltip.mjs +147 -71
  449. package/fesm2020/tooltip.mjs.map +1 -1
  450. package/fesm2020/tree/testing.mjs.map +1 -1
  451. package/fesm2020/tree.mjs +26 -26
  452. package/fesm2020/tree.mjs.map +1 -1
  453. package/form-field/form-field-control.d.ts +3 -3
  454. package/form-field/form-field.d.ts +15 -8
  455. package/form-field/testing/public-api.d.ts +1 -1
  456. package/icon/icon-registry.d.ts +7 -9
  457. package/icon/icon.d.ts +12 -3
  458. package/icon/testing/fake-icon-registry.d.ts +1 -1
  459. package/input/input.d.ts +12 -1
  460. package/list/selection-list.d.ts +4 -21
  461. package/list/testing/list-item-harness-base.d.ts +1 -7
  462. package/menu/menu-errors.d.ts +0 -5
  463. package/menu/menu-item.d.ts +3 -2
  464. package/menu/menu-trigger.d.ts +21 -11
  465. package/menu/menu.d.ts +8 -3
  466. package/package.json +7 -7
  467. package/paginator/paginator.d.ts +12 -1
  468. package/paginator/testing/paginator-harness.d.ts +3 -0
  469. package/prebuilt-themes/deeppurple-amber.css +1 -1
  470. package/prebuilt-themes/indigo-pink.css +1 -1
  471. package/prebuilt-themes/pink-bluegrey.css +1 -1
  472. package/prebuilt-themes/purple-green.css +1 -1
  473. package/progress-spinner/progress-spinner-module.d.ts +1 -1
  474. package/progress-spinner/progress-spinner.d.ts +4 -19
  475. package/progress-spinner/public-api.d.ts +8 -1
  476. package/radio/radio.d.ts +7 -2
  477. package/radio/testing/radio-harness-filters.d.ts +2 -0
  478. package/schematics/collection.json +4 -2
  479. package/schematics/migration.json +5 -0
  480. package/schematics/ng-add/fonts/material-fonts.js +4 -13
  481. package/schematics/ng-add/fonts/material-fonts.mjs +4 -13
  482. package/schematics/ng-add/index.js +2 -2
  483. package/schematics/ng-add/index.mjs +2 -2
  484. package/schematics/ng-add/schema.d.ts +2 -2
  485. package/schematics/ng-add/schema.js +1 -1
  486. package/schematics/ng-add/schema.json +29 -9
  487. package/schematics/ng-add/schema.mjs +1 -1
  488. package/schematics/ng-add/setup-project.js +16 -23
  489. package/schematics/ng-add/setup-project.mjs +16 -23
  490. package/schematics/ng-add/theming/theming.js +28 -39
  491. package/schematics/ng-add/theming/theming.mjs +28 -39
  492. package/schematics/ng-generate/address-form/index.js +5 -14
  493. package/schematics/ng-generate/address-form/index.mjs +5 -14
  494. package/schematics/ng-generate/address-form/schema.json +1 -1
  495. package/schematics/ng-generate/dashboard/index.js +5 -14
  496. package/schematics/ng-generate/dashboard/index.mjs +5 -14
  497. package/schematics/ng-generate/dashboard/schema.json +1 -1
  498. package/schematics/ng-generate/navigation/index.js +5 -14
  499. package/schematics/ng-generate/navigation/index.mjs +5 -14
  500. package/schematics/ng-generate/navigation/schema.json +1 -1
  501. package/schematics/ng-generate/table/index.js +5 -14
  502. package/schematics/ng-generate/table/index.mjs +5 -14
  503. package/schematics/ng-generate/table/schema.json +1 -1
  504. package/schematics/ng-generate/tree/index.js +5 -14
  505. package/schematics/ng-generate/tree/index.mjs +5 -14
  506. package/schematics/ng-generate/tree/schema.json +1 -1
  507. package/schematics/ng-update/data/constructor-checks.js +11 -1
  508. package/schematics/ng-update/data/constructor-checks.mjs +11 -1
  509. package/schematics/ng-update/data/css-selectors.js +7 -1
  510. package/schematics/ng-update/data/css-selectors.mjs +7 -1
  511. package/schematics/ng-update/data/index.js +6 -2
  512. package/schematics/ng-update/data/index.mjs +6 -2
  513. package/schematics/ng-update/index.d.ts +2 -0
  514. package/schematics/ng-update/index.js +7 -2
  515. package/schematics/ng-update/index.mjs +7 -2
  516. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +4 -4
  517. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +4 -4
  518. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +14 -23
  519. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +14 -23
  520. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +3 -15
  521. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +3 -15
  522. package/schematics/ng-update/migrations/theming-api-v12/migration.js +5 -5
  523. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +5 -5
  524. package/schematics/tsconfig.json +1 -4
  525. package/select/select.d.ts +25 -4
  526. package/sidenav/sidenav-module.d.ts +2 -3
  527. package/slide-toggle/testing/slide-toggle-harness-filters.d.ts +4 -0
  528. package/snack-bar/snack-bar.d.ts +1 -1
  529. package/sort/sort-header.d.ts +4 -4
  530. package/sort/sort.d.ts +4 -0
  531. package/stepper/public-api.d.ts +1 -1
  532. package/stepper/stepper-animations.d.ts +2 -0
  533. package/stepper/stepper-module.d.ts +1 -1
  534. package/stepper/stepper.d.ts +15 -38
  535. package/tabs/_tabs-common.scss +15 -5
  536. package/tabs/ink-bar.d.ts +0 -5
  537. package/tabs/paginated-tab-header.d.ts +4 -2
  538. package/tabs/tab-body.d.ts +3 -1
  539. package/tabs/tab-config.d.ts +6 -0
  540. package/tabs/tab-group.d.ts +15 -3
  541. package/tooltip/testing/tooltip-harness.d.ts +6 -0
  542. package/tooltip/tooltip.d.ts +36 -8
@@ -8,7 +8,7 @@
8
8
  /// @param {String | Number} $font-weight The font-weight for this level.
9
9
  /// @param {String} $font-family The font-family for this level.
10
10
  /// @param {String} $letter-spacing The letter-spacing for this level.
11
- /// @returns {Map} A map representing the definition of this typpographic level.
11
+ /// @returns {Map} A map representing the definition of this typographic level.
12
12
  @function define-typography-level(
13
13
  $font-size,
14
14
  $line-height: $font-size,
@@ -183,22 +183,41 @@
183
183
  @mixin typography-hierarchy($config-or-theme, $selector: '.mat-typography') {
184
184
  $config: private-typography-to-2014-config(theming.get-typography-config($config-or-theme));
185
185
 
186
- .mat-h1, .mat-headline, #{$selector} h1 {
186
+ // Note that it seems redundant to prefix the class rules with the `$selector`, however it's
187
+ // necessary if we want to allow people to overwrite the tag selectors. This is due to
188
+ // selectors like `#{$selector} h1` being more specific than ones like `.mat-title`.
189
+ .mat-h1,
190
+ .mat-headline,
191
+ #{$selector} .mat-h1,
192
+ #{$selector} .mat-headline,
193
+ #{$selector} h1 {
187
194
  @include typography-utils.typography-level($config, headline);
188
195
  margin: 0 0 16px;
189
196
  }
190
197
 
191
- .mat-h2, .mat-title, #{$selector} h2 {
198
+ .mat-h2,
199
+ .mat-title,
200
+ #{$selector} .mat-h2,
201
+ #{$selector} .mat-title,
202
+ #{$selector} h2 {
192
203
  @include typography-utils.typography-level($config, title);
193
204
  margin: 0 0 16px;
194
205
  }
195
206
 
196
- .mat-h3, .mat-subheading-2, #{$selector} h3 {
207
+ .mat-h3,
208
+ .mat-subheading-2,
209
+ #{$selector} .mat-h3,
210
+ #{$selector} .mat-subheading-2,
211
+ #{$selector} h3 {
197
212
  @include typography-utils.typography-level($config, subheading-2);
198
213
  margin: 0 0 16px;
199
214
  }
200
215
 
201
- .mat-h4, .mat-subheading-1, #{$selector} h4 {
216
+ .mat-h4,
217
+ .mat-subheading-1,
218
+ #{$selector} .mat-h4,
219
+ #{$selector} .mat-subheading-1,
220
+ #{$selector} h4 {
202
221
  @include typography-utils.typography-level($config, subheading-1);
203
222
  margin: 0 0 16px;
204
223
  }
@@ -206,7 +225,9 @@
206
225
  // Note: the spec doesn't have anything that would correspond to h5 and h6, but we add these for
207
226
  // consistency. The font sizes come from the Chrome user agent styles which have h5 at 0.83em
208
227
  // and h6 at 0.67em.
209
- .mat-h5, #{$selector} h5 {
228
+ .mat-h5,
229
+ #{$selector} .mat-h5,
230
+ #{$selector} h5 {
210
231
  @include typography-utils.font-shorthand(
211
232
  // calc is used here to support css variables
212
233
  calc(#{typography-utils.font-size($config, body-1)} * 0.83),
@@ -218,7 +239,9 @@
218
239
  margin: 0 0 12px;
219
240
  }
220
241
 
221
- .mat-h6, #{$selector} h6 {
242
+ .mat-h6,
243
+ #{$selector} .mat-h6,
244
+ #{$selector} h6 {
222
245
  @include typography-utils.font-shorthand(
223
246
  // calc is used here to support css variables
224
247
  calc(#{typography-utils.font-size($config, body-1)} * 0.67),
@@ -230,11 +253,18 @@
230
253
  margin: 0 0 12px;
231
254
  }
232
255
 
233
- .mat-body-strong, .mat-body-2 {
256
+ .mat-body-strong,
257
+ .mat-body-2,
258
+ #{$selector} .mat-body-strong,
259
+ #{$selector} .mat-body-2 {
234
260
  @include typography-utils.typography-level($config, body-2);
235
261
  }
236
262
 
237
- .mat-body, .mat-body-1, #{$selector} {
263
+ .mat-body,
264
+ .mat-body-1,
265
+ #{$selector} .mat-body,
266
+ #{$selector} .mat-body-1,
267
+ #{$selector} {
238
268
  @include typography-utils.typography-level($config, body-1);
239
269
 
240
270
  p {
@@ -242,26 +272,33 @@
242
272
  }
243
273
  }
244
274
 
245
- .mat-small, .mat-caption {
275
+ .mat-small,
276
+ .mat-caption,
277
+ #{$selector} .mat-small,
278
+ #{$selector} .mat-caption {
246
279
  @include typography-utils.typography-level($config, caption);
247
280
  }
248
281
 
249
- .mat-display-4, #{$selector} .mat-display-4 {
282
+ .mat-display-4,
283
+ #{$selector} .mat-display-4 {
250
284
  @include typography-utils.typography-level($config, display-4);
251
285
  margin: 0 0 56px;
252
286
  }
253
287
 
254
- .mat-display-3, #{$selector} .mat-display-3 {
288
+ .mat-display-3,
289
+ #{$selector} .mat-display-3 {
255
290
  @include typography-utils.typography-level($config, display-3);
256
291
  margin: 0 0 64px;
257
292
  }
258
293
 
259
- .mat-display-2, #{$selector} .mat-display-2 {
294
+ .mat-display-2,
295
+ #{$selector} .mat-display-2 {
260
296
  @include typography-utils.typography-level($config, display-2);
261
297
  margin: 0 0 64px;
262
298
  }
263
299
 
264
- .mat-display-1, #{$selector} .mat-display-1 {
300
+ .mat-display-1,
301
+ #{$selector} .mat-display-1 {
265
302
  @include typography-utils.typography-level($config, display-1);
266
303
  margin: 0 0 64px;
267
304
  }
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { ElementRef, EventEmitter, NgZone, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
8
+ import { ElementRef, EventEmitter, NgZone, OnChanges, SimpleChanges, OnDestroy, AfterViewChecked } from '@angular/core';
9
9
  import * as i0 from "@angular/core";
10
10
  /** Extra CSS classes that can be associated with a calendar cell. */
11
11
  export declare type MatCalendarCellCssClasses = string | string[] | Set<string> | {
@@ -36,7 +36,7 @@ export interface MatCalendarUserEvent<D> {
36
36
  * An internal component used to display calendar data in a table.
37
37
  * @docs-private
38
38
  */
39
- export declare class MatCalendarBody implements OnChanges, OnDestroy {
39
+ export declare class MatCalendarBody implements OnChanges, OnDestroy, AfterViewChecked {
40
40
  private _elementRef;
41
41
  private _ngZone;
42
42
  /**
@@ -44,6 +44,10 @@ export declare class MatCalendarBody implements OnChanges, OnDestroy {
44
44
  * We need a flag like this, because some browsers fire focus events asynchronously.
45
45
  */
46
46
  private _skipNextFocus;
47
+ /**
48
+ * Used to focus the active cell after change detection has run.
49
+ */
50
+ private _focusActiveCellAfterViewChecked;
47
51
  /** The label for the table. (e.g. "Jan 2017"). */
48
52
  label: string;
49
53
  /** The cells to display in the table. */
@@ -60,6 +64,7 @@ export declare class MatCalendarBody implements OnChanges, OnDestroy {
60
64
  numCols: number;
61
65
  /** The cell number of the active cell in the table. */
62
66
  activeCell: number;
67
+ ngAfterViewChecked(): void;
63
68
  /** Whether a range is being selected. */
64
69
  isRange: boolean;
65
70
  /**
@@ -79,6 +84,7 @@ export declare class MatCalendarBody implements OnChanges, OnDestroy {
79
84
  readonly selectedValueChange: EventEmitter<MatCalendarUserEvent<number>>;
80
85
  /** Emits when the preview has changed as a result of a user action. */
81
86
  readonly previewChange: EventEmitter<MatCalendarUserEvent<MatCalendarCell<any> | null>>;
87
+ readonly activeDateChange: EventEmitter<MatCalendarUserEvent<number>>;
82
88
  /** The number of blank cells to put at the beginning for the first row. */
83
89
  _firstRowOffset: number;
84
90
  /** Padding for the individual date cells. */
@@ -88,14 +94,38 @@ export declare class MatCalendarBody implements OnChanges, OnDestroy {
88
94
  constructor(_elementRef: ElementRef<HTMLElement>, _ngZone: NgZone);
89
95
  /** Called when a cell is clicked. */
90
96
  _cellClicked(cell: MatCalendarCell, event: MouseEvent): void;
97
+ _emitActiveDateChange(cell: MatCalendarCell, event: FocusEvent): void;
91
98
  /** Returns whether a cell should be marked as selected. */
92
99
  _isSelected(value: number): boolean;
93
100
  ngOnChanges(changes: SimpleChanges): void;
94
101
  ngOnDestroy(): void;
95
102
  /** Returns whether a cell is active. */
96
103
  _isActiveCell(rowIndex: number, colIndex: number): boolean;
97
- /** Focuses the active cell after the microtask queue is empty. */
104
+ /**
105
+ * Focuses the active cell after the microtask queue is empty.
106
+ *
107
+ * Adding a 0ms setTimeout seems to fix Voiceover losing focus when pressing PageUp/PageDown
108
+ * (issue #24330).
109
+ *
110
+ * Determined a 0ms by gradually increasing duration from 0 and testing two use cases with screen
111
+ * reader enabled:
112
+ *
113
+ * 1. Pressing PageUp/PageDown repeatedly with pausing between each key press.
114
+ * 2. Pressing and holding the PageDown key with repeated keys enabled.
115
+ *
116
+ * Test 1 worked roughly 95-99% of the time with 0ms and got a little bit better as the duration
117
+ * increased. Test 2 got slightly better until the duration was long enough to interfere with
118
+ * repeated keys. If the repeated key speed was faster than the timeout duration, then pressing
119
+ * and holding pagedown caused the entire page to scroll.
120
+ *
121
+ * Since repeated key speed can verify across machines, determined that any duration could
122
+ * potentially interfere with repeated keys. 0ms would be best because it almost entirely
123
+ * eliminates the focus being lost in Voiceover (#24330) without causing unintended side effects.
124
+ * Adding delay also complicates writing tests.
125
+ */
98
126
  _focusActiveCell(movePreview?: boolean): void;
127
+ /** Focuses the active cell after change detection has run and the microtask queue is empty. */
128
+ _scheduleFocusActiveCellAfterViewChecked(): void;
99
129
  /** Gets whether a value is the start of the main range. */
100
130
  _isRangeStart(value: number): boolean;
101
131
  /** Gets whether a value is the end of the main range. */
@@ -142,5 +172,5 @@ export declare class MatCalendarBody implements OnChanges, OnDestroy {
142
172
  /** Finds the MatCalendarCell that corresponds to a DOM node. */
143
173
  private _getCellFromElement;
144
174
  static ɵfac: i0.ɵɵFactoryDeclaration<MatCalendarBody, never>;
145
- static ɵcmp: i0.ɵɵComponentDeclaration<MatCalendarBody, "[mat-calendar-body]", ["matCalendarBody"], { "label": "label"; "rows": "rows"; "todayValue": "todayValue"; "startValue": "startValue"; "endValue": "endValue"; "labelMinRequiredCells": "labelMinRequiredCells"; "numCols": "numCols"; "activeCell": "activeCell"; "isRange": "isRange"; "cellAspectRatio": "cellAspectRatio"; "comparisonStart": "comparisonStart"; "comparisonEnd": "comparisonEnd"; "previewStart": "previewStart"; "previewEnd": "previewEnd"; }, { "selectedValueChange": "selectedValueChange"; "previewChange": "previewChange"; }, never, never>;
175
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatCalendarBody, "[mat-calendar-body]", ["matCalendarBody"], { "label": "label"; "rows": "rows"; "todayValue": "todayValue"; "startValue": "startValue"; "endValue": "endValue"; "labelMinRequiredCells": "labelMinRequiredCells"; "numCols": "numCols"; "activeCell": "activeCell"; "isRange": "isRange"; "cellAspectRatio": "cellAspectRatio"; "comparisonStart": "comparisonStart"; "comparisonEnd": "comparisonEnd"; "previewStart": "previewStart"; "previewEnd": "previewEnd"; }, { "selectedValueChange": "selectedValueChange"; "previewChange": "previewChange"; "activeDateChange": "activeDateChange"; }, never, never>;
146
176
  }
@@ -41,7 +41,10 @@ declare abstract class MatDateRangeInputPartBase<D> extends MatDatepickerInputBa
41
41
  private _injector;
42
42
  _parentForm: NgForm;
43
43
  _parentFormGroup: FormGroupDirective;
44
- /** @docs-private */
44
+ /**
45
+ * Form control bound to this input part.
46
+ * @docs-private
47
+ */
45
48
  ngControl: NgControl;
46
49
  /** @docs-private */
47
50
  abstract updateErrorState(): void;
@@ -73,6 +73,8 @@ export declare class MatDatepickerContent<S, D = ExtractDateTypeFromSelection<S>
73
73
  _closeButtonFocused: boolean;
74
74
  /** Portal with projected action buttons. */
75
75
  _actionsPortal: TemplatePortal | null;
76
+ /** Id of the label for the `role="dialog"` element. */
77
+ _dialogLabelId: string | null;
76
78
  constructor(elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef, _globalModel: MatDateSelectionModel<S, D>, _dateAdapter: DateAdapter<D>, _rangeSelectionStrategy: MatDateRangeSelectionStrategy<D>, intl: MatDatepickerIntl);
77
79
  ngOnInit(): void;
78
80
  ngAfterViewInit(): void;
@@ -85,6 +85,17 @@ export declare class MatMonthView<D> implements AfterContentInit, OnChanges, OnD
85
85
  ngOnDestroy(): void;
86
86
  /** Handles when a new date is selected. */
87
87
  _dateSelected(event: MatCalendarUserEvent<number>): void;
88
+ /**
89
+ * Takes the index of a calendar body cell wrapped in in an event as argument. For the date that
90
+ * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
91
+ * that date.
92
+ *
93
+ * This fucntion is used to match each component's model of the active date with the calendar
94
+ * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
95
+ * parent's value asynchonously via the `activeDateChange` event. The child component receives an
96
+ * updated value asynchronously via the `activeCell` Input.
97
+ */
98
+ _updateActiveDate(event: MatCalendarUserEvent<number>): void;
88
99
  /** Handles keydown events on the calendar body when calendar is in month view. */
89
100
  _handleCalendarBodyKeydown(event: KeyboardEvent): void;
90
101
  /** Handles keyup events on the calendar body when calendar is in month view. */
@@ -93,8 +104,15 @@ export declare class MatMonthView<D> implements AfterContentInit, OnChanges, OnD
93
104
  _init(): void;
94
105
  /** Focuses the active cell after the microtask queue is empty. */
95
106
  _focusActiveCell(movePreview?: boolean): void;
107
+ /** Focuses the active cell after change detection has run and the microtask queue is empty. */
108
+ _focusActiveCellAfterViewChecked(): void;
96
109
  /** Called when the user has activated a new cell and the preview needs to be updated. */
97
110
  _previewChanged({ event, value: cell }: MatCalendarUserEvent<MatCalendarCell<D> | null>): void;
111
+ /**
112
+ * Takes a day of the month and returns a new date in the same month and year as the currently
113
+ * active date. The returned date will have the same day of the month as the argument date.
114
+ */
115
+ private _getDateFromDayOfMonth;
98
116
  /** Initializes the weekdays. */
99
117
  private _initWeekdays;
100
118
  /** Creates MatCalendarCells for the dates in this month. */
@@ -58,6 +58,17 @@ export declare class MatMultiYearView<D> implements AfterContentInit, OnDestroy
58
58
  _init(): void;
59
59
  /** Handles when a new year is selected. */
60
60
  _yearSelected(event: MatCalendarUserEvent<number>): void;
61
+ /**
62
+ * Takes the index of a calendar body cell wrapped in in an event as argument. For the date that
63
+ * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
64
+ * that date.
65
+ *
66
+ * This fucntion is used to match each component's model of the active date with the calendar
67
+ * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
68
+ * parent's value asynchonously via the `activeDateChange` event. The child component receives an
69
+ * updated value asynchronously via the `activeCell` Input.
70
+ */
71
+ _updateActiveDate(event: MatCalendarUserEvent<number>): void;
61
72
  /** Handles keydown events on the calendar body when calendar is in multi-year view. */
62
73
  _handleCalendarBodyKeydown(event: KeyboardEvent): void;
63
74
  /** Handles keyup events on the calendar body when calendar is in multi-year view. */
@@ -65,6 +76,13 @@ export declare class MatMultiYearView<D> implements AfterContentInit, OnDestroy
65
76
  _getActiveCell(): number;
66
77
  /** Focuses the active cell after the microtask queue is empty. */
67
78
  _focusActiveCell(): void;
79
+ /** Focuses the active cell after change detection has run and the microtask queue is empty. */
80
+ _focusActiveCellAfterViewChecked(): void;
81
+ /**
82
+ * Takes a year and returns a new date on the same day and month as the currently active date
83
+ * The returned date will have the same year as the argument date.
84
+ */
85
+ private _getDateFromYear;
68
86
  /** Creates an MatCalendarCell for the given year. */
69
87
  private _createCellForYear;
70
88
  /** Whether the given year is enabled. */
@@ -60,6 +60,17 @@ export declare class MatYearView<D> implements AfterContentInit, OnDestroy {
60
60
  ngOnDestroy(): void;
61
61
  /** Handles when a new month is selected. */
62
62
  _monthSelected(event: MatCalendarUserEvent<number>): void;
63
+ /**
64
+ * Takes the index of a calendar body cell wrapped in in an event as argument. For the date that
65
+ * corresponds to the given cell, set `activeDate` to that date and fire `activeDateChange` with
66
+ * that date.
67
+ *
68
+ * This fucntion is used to match each component's model of the active date with the calendar
69
+ * body cell that was focused. It updates its value of `activeDate` synchronously and updates the
70
+ * parent's value asynchonously via the `activeDateChange` event. The child component receives an
71
+ * updated value asynchronously via the `activeCell` Input.
72
+ */
73
+ _updateActiveDate(event: MatCalendarUserEvent<number>): void;
63
74
  /** Handles keydown events on the calendar body when calendar is in year view. */
64
75
  _handleCalendarBodyKeydown(event: KeyboardEvent): void;
65
76
  /** Handles keyup events on the calendar body when calendar is in year view. */
@@ -68,11 +79,18 @@ export declare class MatYearView<D> implements AfterContentInit, OnDestroy {
68
79
  _init(): void;
69
80
  /** Focuses the active cell after the microtask queue is empty. */
70
81
  _focusActiveCell(): void;
82
+ /** Schedules the matCalendarBody to focus the active cell after change detection has run */
83
+ _focusActiveCellAfterViewChecked(): void;
71
84
  /**
72
85
  * Gets the month in this year that the given Date falls on.
73
86
  * Returns null if the given Date is in another year.
74
87
  */
75
88
  private _getMonthInCurrentYear;
89
+ /**
90
+ * Takes a month and returns a new date in the same day and year as the currently active date.
91
+ * The returned date will have the same month as the argument date.
92
+ */
93
+ private _getDateFromMonth;
76
94
  /** Creates an MatCalendarCell for the given month. */
77
95
  private _createCellForMonth;
78
96
  /** Whether the given month is enabled. */
@@ -6,6 +6,16 @@
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
8
  import { AnimationTriggerMetadata } from '@angular/animations';
9
+ /**
10
+ * Default parameters for the animation for backwards compatibility.
11
+ * @docs-private
12
+ */
13
+ export declare const defaultParams: {
14
+ params: {
15
+ enterAnimationDuration: string;
16
+ exitAnimationDuration: string;
17
+ };
18
+ };
9
19
  /**
10
20
  * Animations used by MatDialog.
11
21
  * @docs-private
@@ -5,7 +5,7 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.io/license
7
7
  */
8
- import { ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
8
+ import { ViewContainerRef, ComponentFactoryResolver, Injector } from '@angular/core';
9
9
  import { Direction } from '@angular/cdk/bidi';
10
10
  import { ScrollStrategy } from '@angular/cdk/overlay';
11
11
  /** Options for where to set focus to automatically on dialog open */
@@ -34,6 +34,11 @@ export declare class MatDialogConfig<D = any> {
34
34
  * content will be rendered.
35
35
  */
36
36
  viewContainerRef?: ViewContainerRef;
37
+ /**
38
+ * Injector used for the instantiation of the component to be attached. If provided,
39
+ * takes precedence over the injector indirectly provided by `ViewContainerRef`.
40
+ */
41
+ injector?: Injector;
37
42
  /** ID for the dialog. If omitted, a unique one will be generated. */
38
43
  id?: string;
39
44
  /** The ARIA role of the dialog element. */
@@ -81,6 +86,8 @@ export declare class MatDialogConfig<D = any> {
81
86
  * previously-focused element, after it's closed.
82
87
  */
83
88
  restoreFocus?: boolean;
89
+ /** Whether to wait for the opening animation to finish before trapping focus. */
90
+ delayFocusTrap?: boolean;
84
91
  /** Scroll strategy to be used for the dialog. */
85
92
  scrollStrategy?: ScrollStrategy;
86
93
  /**
@@ -91,4 +98,8 @@ export declare class MatDialogConfig<D = any> {
91
98
  closeOnNavigation?: boolean;
92
99
  /** Alternate `ComponentFactoryResolver` to use when resolving the associated component. */
93
100
  componentFactoryResolver?: ComponentFactoryResolver;
101
+ /** Duration of the enter animation. Has to be a valid CSS value (e.g. 100ms). */
102
+ enterAnimationDuration?: string;
103
+ /** Duration of the exit animation. Has to be a valid CSS value (e.g. 50ms). */
104
+ exitAnimationDuration?: string;
94
105
  }
@@ -98,14 +98,15 @@ export declare abstract class _MatDialogContainerBase extends BasePortalOutlet {
98
98
  protected _trapFocus(): void;
99
99
  /** Restores focus to the element that was focused before the dialog opened. */
100
100
  protected _restoreFocus(): void;
101
- /** Sets up the focus trap. */
102
- private _setupFocusTrap;
103
- /** Captures the element that was focused before the dialog was opened. */
104
- private _capturePreviouslyFocusedElement;
105
101
  /** Focuses the dialog container. */
106
102
  private _focusDialogContainer;
107
103
  /** Returns whether focus is inside the dialog. */
108
104
  private _containsFocus;
105
+ /**
106
+ * Callback for when the open dialog animation has finished. Intended to
107
+ * be called by sub-classes that use different animation implementations.
108
+ */
109
+ protected _openAnimationDone(totalTime: number): void;
109
110
  static ɵfac: i0.ɵɵFactoryDeclaration<_MatDialogContainerBase, [null, null, null, { optional: true; }, null, null, null, null]>;
110
111
  static ɵdir: i0.ɵɵDirectiveDeclaration<_MatDialogContainerBase, never, never, {}, {}, never>;
111
112
  }
@@ -123,6 +124,13 @@ export declare class MatDialogContainer extends _MatDialogContainerBase {
123
124
  _onAnimationStart({ toState, totalTime }: AnimationEvent): void;
124
125
  /** Starts the dialog exit animation. */
125
126
  _startExitAnimation(): void;
127
+ _getAnimationState(): {
128
+ value: "enter" | "void" | "exit";
129
+ params: {
130
+ enterAnimationDuration: string;
131
+ exitAnimationDuration: string;
132
+ };
133
+ };
126
134
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDialogContainer, never>;
127
135
  static ɵcmp: i0.ɵɵComponentDeclaration<MatDialogContainer, "mat-dialog-container", never, {}, {}, never, never>;
128
136
  }
@@ -67,6 +67,10 @@ export declare class MatDialogContent {
67
67
  * Stays fixed to the bottom when scrolling.
68
68
  */
69
69
  export declare class MatDialogActions {
70
+ /**
71
+ * Horizontal alignment of action buttons.
72
+ */
73
+ align?: 'start' | 'center' | 'end';
70
74
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDialogActions, never>;
71
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatDialogActions, "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", never, {}, {}, never>;
75
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatDialogActions, "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", never, { "align": "align"; }, {}, never>;
72
76
  }
@@ -36,15 +36,11 @@ export declare abstract class _MatDialogBase<C extends _MatDialogContainerBase>
36
36
  private _dialogRefConstructor;
37
37
  private _dialogContainerType;
38
38
  private _dialogDataToken;
39
- private _animationMode?;
40
39
  private _openDialogsAtThisLevel;
41
40
  private readonly _afterAllClosedAtThisLevel;
42
41
  private readonly _afterOpenedAtThisLevel;
43
42
  private _ariaHiddenElements;
44
43
  private _scrollStrategy;
45
- private _dialogAnimatingOpen;
46
- private _animationStateSubscriptions;
47
- private _lastDialogRef;
48
44
  /** Keeps track of the currently-open dialogs. */
49
45
  get openDialogs(): MatDialogRef<any>[];
50
46
  /** Stream that emits when a dialog has been opened. */
@@ -55,7 +51,12 @@ export declare abstract class _MatDialogBase<C extends _MatDialogContainerBase>
55
51
  * Will emit on subscribe if there are no open dialogs to begin with.
56
52
  */
57
53
  readonly afterAllClosed: Observable<void>;
58
- constructor(_overlay: Overlay, _injector: Injector, _defaultOptions: MatDialogConfig | undefined, _parentDialog: _MatDialogBase<C> | undefined, _overlayContainer: OverlayContainer, scrollStrategy: any, _dialogRefConstructor: Type<MatDialogRef<any>>, _dialogContainerType: Type<C>, _dialogDataToken: InjectionToken<any>, _animationMode?: "NoopAnimations" | "BrowserAnimations" | undefined);
54
+ constructor(_overlay: Overlay, _injector: Injector, _defaultOptions: MatDialogConfig | undefined, _parentDialog: _MatDialogBase<C> | undefined, _overlayContainer: OverlayContainer, scrollStrategy: any, _dialogRefConstructor: Type<MatDialogRef<any>>, _dialogContainerType: Type<C>, _dialogDataToken: InjectionToken<any>,
55
+ /**
56
+ * @deprecated No longer used. To be removed.
57
+ * @breaking-change 14.0.0
58
+ */
59
+ _animationMode?: 'NoopAnimations' | 'BrowserAnimations');
59
60
  /**
60
61
  * Opens a modal dialog containing the given component.
61
62
  * @param component Type of the component to load into the dialog.
@@ -142,7 +143,12 @@ export declare class MatDialog extends _MatDialogBase<MatDialogContainer> {
142
143
  * @deprecated `_location` parameter to be removed.
143
144
  * @breaking-change 10.0.0
144
145
  */
145
- location: Location, defaultOptions: MatDialogConfig, scrollStrategy: any, parentDialog: MatDialog, overlayContainer: OverlayContainer, animationMode?: 'NoopAnimations' | 'BrowserAnimations');
146
+ location: Location, defaultOptions: MatDialogConfig, scrollStrategy: any, parentDialog: MatDialog, overlayContainer: OverlayContainer,
147
+ /**
148
+ * @deprecated No longer used. To be removed.
149
+ * @breaking-change 14.0.0
150
+ */
151
+ animationMode?: 'NoopAnimations' | 'BrowserAnimations');
146
152
  static ɵfac: i0.ɵɵFactoryDeclaration<MatDialog, [null, null, { optional: true; }, { optional: true; }, null, { optional: true; skipSelf: true; }, null, { optional: true; }]>;
147
153
  static ɵprov: i0.ɵɵInjectableDeclaration<MatDialog>;
148
154
  }
@@ -11,4 +11,4 @@ export * from './dialog-container';
11
11
  export * from './dialog-content-directives';
12
12
  export * from './dialog-config';
13
13
  export * from './dialog-ref';
14
- export * from './dialog-animations';
14
+ export { matDialogAnimations } from './dialog-animations';
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { ComponentType } from '@angular/cdk/overlay';
9
+ import { OnDestroy } from '@angular/core';
10
+ import { _MatDialogBase, _MatDialogContainerBase, MatDialog, MatDialogConfig, MatDialogContainer, MatDialogRef } from '@angular/material/dialog';
11
+ /** Base class for a component that immediately opens a dialog when created. */
12
+ export declare class _MatTestDialogOpenerBase<C extends _MatDialogContainerBase, T, R> implements OnDestroy {
13
+ dialog: _MatDialogBase<C>;
14
+ /** Component that should be opened with the MatDialog `open` method. */
15
+ protected static component: ComponentType<unknown> | undefined;
16
+ /** Config that should be provided to the MatDialog `open` method. */
17
+ protected static config: MatDialogConfig | undefined;
18
+ /** MatDialogRef returned from the MatDialog `open` method. */
19
+ dialogRef: MatDialogRef<T, R>;
20
+ /** Data passed to the `MatDialog` close method. */
21
+ closedResult: R | undefined;
22
+ private readonly _afterClosedSubscription;
23
+ constructor(dialog: _MatDialogBase<C>);
24
+ ngOnDestroy(): void;
25
+ }
26
+ /** Test component that immediately opens a dialog when created. */
27
+ export declare class MatTestDialogOpener<T = unknown, R = unknown> extends _MatTestDialogOpenerBase<MatDialogContainer, T, R> {
28
+ constructor(dialog: MatDialog);
29
+ /** Static method that prepares this class to open the provided component. */
30
+ static withComponent<T = unknown, R = unknown>(component: ComponentType<T>, config?: MatDialogConfig): ComponentType<MatTestDialogOpener<T, R>>;
31
+ }
32
+ export declare class MatTestDialogOpenerModule {
33
+ }
@@ -7,3 +7,4 @@
7
7
  */
8
8
  export * from './dialog-harness';
9
9
  export * from './dialog-harness-filters';
10
+ export * from './dialog-opener';
@@ -16,17 +16,17 @@ import { MatAutocompleteOrigin } from './autocomplete-origin';
16
16
  import * as i0 from "@angular/core";
17
17
  export class MatAutocompleteModule {
18
18
  }
19
- MatAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- MatAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatAutocompleteModule, declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin], imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule], exports: [MatAutocomplete,
19
+ MatAutocompleteModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ MatAutocompleteModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatAutocompleteModule, declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin], imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule], exports: [MatAutocomplete,
21
21
  MatAutocompleteTrigger,
22
22
  MatAutocompleteOrigin,
23
23
  CdkScrollableModule,
24
24
  MatOptionModule,
25
25
  MatCommonModule] });
26
- MatAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[OverlayModule, MatOptionModule, MatCommonModule, CommonModule], CdkScrollableModule,
26
+ MatAutocompleteModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[OverlayModule, MatOptionModule, MatCommonModule, CommonModule], CdkScrollableModule,
27
27
  MatOptionModule,
28
28
  MatCommonModule] });
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatAutocompleteModule, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatAutocompleteModule, decorators: [{
30
30
  type: NgModule,
31
31
  args: [{
32
32
  imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule],
@@ -42,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
42
42
  providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER],
43
43
  }]
44
44
  }] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixpREFBaUQsR0FDbEQsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFlNUQsTUFBTSxPQUFPLHFCQUFxQjs7dUhBQXJCLHFCQUFxQjt3SEFBckIscUJBQXFCLGlCQUhqQixlQUFlLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLGFBVG5FLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksYUFFckUsZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixlQUFlO3dIQUtOLHFCQUFxQixhQUZyQixDQUFDLGlEQUFpRCxDQUFDLFlBVnJELENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLEVBS3RFLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsZUFBZTtnR0FLTixxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDO29CQUN4RSxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCO29CQUNELFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQztvQkFDOUUsU0FBUyxFQUFFLENBQUMsaURBQWlELENBQUM7aUJBQy9EIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge092ZXJsYXlNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7TWF0T3B0aW9uTW9kdWxlLCBNYXRDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtDZGtTY3JvbGxhYmxlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlfSBmcm9tICcuL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge1xuICBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLFxuICBNQVRfQVVUT0NPTVBMRVRFX1NDUk9MTF9TVFJBVEVHWV9GQUNUT1JZX1BST1ZJREVSLFxufSBmcm9tICcuL2F1dG9jb21wbGV0ZS10cmlnZ2VyJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlT3JpZ2lufSBmcm9tICcuL2F1dG9jb21wbGV0ZS1vcmlnaW4nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbT3ZlcmxheU1vZHVsZSwgTWF0T3B0aW9uTW9kdWxlLCBNYXRDb21tb25Nb2R1bGUsIENvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXRBdXRvY29tcGxldGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcixcbiAgICBNYXRBdXRvY29tcGxldGVPcmlnaW4sXG4gICAgQ2RrU2Nyb2xsYWJsZU1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsIE1hdEF1dG9jb21wbGV0ZU9yaWdpbl0sXG4gIHByb3ZpZGVyczogW01BVF9BVVRPQ09NUExFVEVfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVJdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRBdXRvY29tcGxldGVNb2R1bGUge31cbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLW1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixpREFBaUQsR0FDbEQsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQzs7QUFlNUQsTUFBTSxPQUFPLHFCQUFxQjs7MEhBQXJCLHFCQUFxQjsySEFBckIscUJBQXFCLGlCQUhqQixlQUFlLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLGFBVG5FLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksYUFFckUsZUFBZTtRQUNmLHNCQUFzQjtRQUN0QixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixlQUFlOzJIQUtOLHFCQUFxQixhQUZyQixDQUFDLGlEQUFpRCxDQUFDLFlBVnJELENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDLEVBS3RFLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2YsZUFBZTttR0FLTixxQkFBcUI7a0JBYmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsWUFBWSxDQUFDO29CQUN4RSxPQUFPLEVBQUU7d0JBQ1AsZUFBZTt3QkFDZixzQkFBc0I7d0JBQ3RCLHFCQUFxQjt3QkFDckIsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCO29CQUNELFlBQVksRUFBRSxDQUFDLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsQ0FBQztvQkFDOUUsU0FBUyxFQUFFLENBQUMsaURBQWlELENBQUM7aUJBQy9EIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge092ZXJsYXlNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7TWF0T3B0aW9uTW9kdWxlLCBNYXRDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtDZGtTY3JvbGxhYmxlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlfSBmcm9tICcuL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQge1xuICBNYXRBdXRvY29tcGxldGVUcmlnZ2VyLFxuICBNQVRfQVVUT0NPTVBMRVRFX1NDUk9MTF9TVFJBVEVHWV9GQUNUT1JZX1BST1ZJREVSLFxufSBmcm9tICcuL2F1dG9jb21wbGV0ZS10cmlnZ2VyJztcbmltcG9ydCB7TWF0QXV0b2NvbXBsZXRlT3JpZ2lufSBmcm9tICcuL2F1dG9jb21wbGV0ZS1vcmlnaW4nO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbT3ZlcmxheU1vZHVsZSwgTWF0T3B0aW9uTW9kdWxlLCBNYXRDb21tb25Nb2R1bGUsIENvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXRBdXRvY29tcGxldGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcixcbiAgICBNYXRBdXRvY29tcGxldGVPcmlnaW4sXG4gICAgQ2RrU2Nyb2xsYWJsZU1vZHVsZSxcbiAgICBNYXRPcHRpb25Nb2R1bGUsXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtNYXRBdXRvY29tcGxldGUsIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsIE1hdEF1dG9jb21wbGV0ZU9yaWdpbl0sXG4gIHByb3ZpZGVyczogW01BVF9BVVRPQ09NUExFVEVfU0NST0xMX1NUUkFURUdZX0ZBQ1RPUllfUFJPVklERVJdLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRBdXRvY29tcGxldGVNb2R1bGUge31cbiJdfQ==
@@ -15,9 +15,9 @@ export class _MatAutocompleteOriginBase {
15
15
  this.elementRef = elementRef;
16
16
  }
17
17
  }
18
- _MatAutocompleteOriginBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatAutocompleteOriginBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
19
- _MatAutocompleteOriginBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: _MatAutocompleteOriginBase, ngImport: i0 });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: _MatAutocompleteOriginBase, decorators: [{
18
+ _MatAutocompleteOriginBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatAutocompleteOriginBase, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
19
+ _MatAutocompleteOriginBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: _MatAutocompleteOriginBase, ngImport: i0 });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: _MatAutocompleteOriginBase, decorators: [{
21
21
  type: Directive
22
22
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
23
23
  /**
@@ -26,13 +26,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ng
26
26
  */
27
27
  export class MatAutocompleteOrigin extends _MatAutocompleteOriginBase {
28
28
  }
29
- MatAutocompleteOrigin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatAutocompleteOrigin, deps: null, target: i0.ɵɵFactoryTarget.Directive });
30
- MatAutocompleteOrigin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0-rc.1", type: MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], usesInheritance: true, ngImport: i0 });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0-rc.1", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
29
+ MatAutocompleteOrigin.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatAutocompleteOrigin, deps: null, target: i0.ɵɵFactoryTarget.Directive });
30
+ MatAutocompleteOrigin.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.13", type: MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], usesInheritance: true, ngImport: i0 });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.13", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
32
32
  type: Directive,
33
33
  args: [{
34
34
  selector: '[matAutocompleteOrigin]',
35
35
  exportAs: 'matAutocompleteOrigin',
36
36
  }]
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLW9yaWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLW9yaWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFcEQsa0ZBQWtGO0FBRWxGLE1BQU0sT0FBZ0IsMEJBQTBCO0lBQzlDO0lBQ0Usa0VBQWtFO0lBQzNELFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO0lBQ3pDLENBQUM7OzRIQUpnQiwwQkFBMEI7Z0hBQTFCLDBCQUEwQjtnR0FBMUIsMEJBQTBCO2tCQUQvQyxTQUFTOztBQVFWOzs7R0FHRztBQUtILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBMEI7O3VIQUF4RCxxQkFBcUI7MkdBQXJCLHFCQUFxQjtnR0FBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIEJhc2UgY2xhc3MgY29udGFpbmluZyBhbGwgb2YgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIGBNYXRBdXRvY29tcGxldGVPcmlnaW5gLiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX01hdEF1dG9jb21wbGV0ZU9yaWdpbkJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICAvKiogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBkaXJlY3RpdmUgaXMgYXBwbGllZC4gKi9cbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge31cbn1cblxuLyoqXG4gKiBEaXJlY3RpdmUgYXBwbGllZCB0byBhbiBlbGVtZW50IHRvIG1ha2UgaXQgdXNhYmxlXG4gKiBhcyBhIGNvbm5lY3Rpb24gcG9pbnQgZm9yIGFuIGF1dG9jb21wbGV0ZSBwYW5lbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hdEF1dG9jb21wbGV0ZU9yaWdpbl0nLFxuICBleHBvcnRBczogJ21hdEF1dG9jb21wbGV0ZU9yaWdpbicsXG59KVxuZXhwb3J0IGNsYXNzIE1hdEF1dG9jb21wbGV0ZU9yaWdpbiBleHRlbmRzIF9NYXRBdXRvY29tcGxldGVPcmlnaW5CYXNlIHt9XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLW9yaWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9hdXRvY29tcGxldGUvYXV0b2NvbXBsZXRlLW9yaWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFcEQsa0ZBQWtGO0FBRWxGLE1BQU0sT0FBZ0IsMEJBQTBCO0lBQzlDO0lBQ0Usa0VBQWtFO0lBQzNELFVBQW1DO1FBQW5DLGVBQVUsR0FBVixVQUFVLENBQXlCO0lBQ3pDLENBQUM7OytIQUpnQiwwQkFBMEI7bUhBQTFCLDBCQUEwQjttR0FBMUIsMEJBQTBCO2tCQUQvQyxTQUFTOztBQVFWOzs7R0FHRztBQUtILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSwwQkFBMEI7OzBIQUF4RCxxQkFBcUI7OEdBQXJCLHFCQUFxQjttR0FBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIEJhc2UgY2xhc3MgY29udGFpbmluZyBhbGwgb2YgdGhlIGZ1bmN0aW9uYWxpdHkgZm9yIGBNYXRBdXRvY29tcGxldGVPcmlnaW5gLiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgX01hdEF1dG9jb21wbGV0ZU9yaWdpbkJhc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICAvKiogUmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IG9uIHdoaWNoIHRoZSBkaXJlY3RpdmUgaXMgYXBwbGllZC4gKi9cbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge31cbn1cblxuLyoqXG4gKiBEaXJlY3RpdmUgYXBwbGllZCB0byBhbiBlbGVtZW50IHRvIG1ha2UgaXQgdXNhYmxlXG4gKiBhcyBhIGNvbm5lY3Rpb24gcG9pbnQgZm9yIGFuIGF1dG9jb21wbGV0ZSBwYW5lbC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW21hdEF1dG9jb21wbGV0ZU9yaWdpbl0nLFxuICBleHBvcnRBczogJ21hdEF1dG9jb21wbGV0ZU9yaWdpbicsXG59KVxuZXhwb3J0IGNsYXNzIE1hdEF1dG9jb21wbGV0ZU9yaWdpbiBleHRlbmRzIF9NYXRBdXRvY29tcGxldGVPcmlnaW5CYXNlIHt9XG4iXX0=