@angular/material 12.0.0-rc.2 → 12.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/_index.scss +2 -1
  2. package/_theming.scss +39 -4
  3. package/autocomplete/_autocomplete-legacy-index.scss +2 -0
  4. package/badge/_badge-legacy-index.scss +3 -0
  5. package/bottom-sheet/_bottom-sheet-legacy-index.scss +2 -0
  6. package/bottom-sheet/bottom-sheet-container.d.ts +0 -2
  7. package/bottom-sheet/index.metadata.json +1 -1
  8. package/bundles/material-bottom-sheet.umd.js +7 -15
  9. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  10. package/bundles/material-checkbox.umd.js +1 -1
  11. package/bundles/material-checkbox.umd.js.map +1 -1
  12. package/bundles/material-core.umd.js +2 -2
  13. package/bundles/material-core.umd.js.map +1 -1
  14. package/bundles/material-datepicker.umd.js +33 -17
  15. package/bundles/material-datepicker.umd.js.map +1 -1
  16. package/bundles/material-dialog.umd.js +11 -19
  17. package/bundles/material-dialog.umd.js.map +1 -1
  18. package/bundles/material-input.umd.js +7 -1
  19. package/bundles/material-input.umd.js.map +1 -1
  20. package/bundles/material-slide-toggle.umd.js +4 -4
  21. package/bundles/material-slide-toggle.umd.js.map +1 -1
  22. package/bundles/material-sort.umd.js +7 -1
  23. package/bundles/material-sort.umd.js.map +1 -1
  24. package/bundles/material-stepper.umd.js +2 -2
  25. package/bundles/material-stepper.umd.js.map +1 -1
  26. package/bundles/material-table-testing.umd.js +103 -143
  27. package/bundles/material-table-testing.umd.js.map +1 -1
  28. package/bundles/material-table.umd.js.map +1 -1
  29. package/bundles/material-tabs.umd.js +4 -2
  30. package/bundles/material-tabs.umd.js.map +1 -1
  31. package/bundles/material-tooltip.umd.js +19 -15
  32. package/bundles/material-tooltip.umd.js.map +1 -1
  33. package/button/_button-legacy-index.scss +19 -0
  34. package/button-toggle/_button-toggle-legacy-index.scss +2 -0
  35. package/card/_card-legacy-index.scss +2 -0
  36. package/checkbox/_checkbox-legacy-index.scss +2 -0
  37. package/checkbox/index.metadata.json +1 -1
  38. package/chips/_chips-legacy-index.scss +6 -0
  39. package/core/_core-legacy-index.scss +17 -0
  40. package/core/color/_color-legacy-index.scss +1 -0
  41. package/core/density/private/_density-legacy-index.scss +5 -0
  42. package/core/focus-indicators/_focus-indicators-legacy-index.scss +5 -0
  43. package/core/focus-indicators/_focus-indicators.import.scss +1 -1
  44. package/core/focus-indicators/_focus-indicators.scss +4 -0
  45. package/core/index.metadata.json +1 -1
  46. package/core/option/_option-legacy-index.scss +5 -0
  47. package/core/ripple/_ripple-legacy-index.scss +3 -0
  48. package/core/ripple/ripple.d.ts +3 -3
  49. package/core/selection/pseudo-checkbox/_pseudo-checkbox-legacy-index.scss +2 -0
  50. package/core/style/_style-legacy-index.scss +24 -0
  51. package/core/theming/_theming-legacy-index.scss +22 -0
  52. package/core/typography/_typography-legacy-index.scss +18 -0
  53. package/datepicker/_datepicker-legacy-index.scss +9 -0
  54. package/datepicker/date-range-input.d.ts +2 -0
  55. package/datepicker/datepicker-base.d.ts +7 -2
  56. package/datepicker/datepicker-input.d.ts +4 -2
  57. package/datepicker/index.metadata.json +1 -1
  58. package/dialog/_dialog-legacy-index.scss +2 -0
  59. package/dialog/dialog-container.d.ts +0 -2
  60. package/dialog/index.metadata.json +1 -1
  61. package/divider/_divider-legacy-index.scss +3 -0
  62. package/esm2015/bottom-sheet/bottom-sheet-container.js +5 -12
  63. package/esm2015/checkbox/checkbox.js +2 -2
  64. package/esm2015/core/common-behaviors/common-module.js +1 -1
  65. package/esm2015/core/ripple/ripple.js +1 -1
  66. package/esm2015/core/version.js +1 -1
  67. package/esm2015/datepicker/date-range-input-parts.js +3 -2
  68. package/esm2015/datepicker/date-range-input.js +5 -1
  69. package/esm2015/datepicker/datepicker-base.js +16 -11
  70. package/esm2015/datepicker/datepicker-input.js +8 -1
  71. package/esm2015/datepicker/datepicker-intl.js +3 -3
  72. package/esm2015/dialog/dialog-container.js +5 -12
  73. package/esm2015/input/input.js +9 -3
  74. package/esm2015/slide-toggle/slide-toggle.js +5 -5
  75. package/esm2015/sort/sort-header.js +8 -2
  76. package/esm2015/stepper/step-header.js +3 -3
  77. package/esm2015/table/table-data-source.js +1 -1
  78. package/esm2015/table/testing/cell-harness.js +9 -9
  79. package/esm2015/table/testing/row-harness.js +38 -70
  80. package/esm2015/table/testing/table-harness.js +23 -15
  81. package/esm2015/tabs/tab-group.js +4 -2
  82. package/esm2015/tabs/tab.js +3 -3
  83. package/esm2015/tooltip/tooltip.js +12 -8
  84. package/expansion/_expansion-legacy-index.scss +3 -0
  85. package/fesm2015/bottom-sheet.js +4 -11
  86. package/fesm2015/bottom-sheet.js.map +1 -1
  87. package/fesm2015/checkbox.js +1 -1
  88. package/fesm2015/checkbox.js.map +1 -1
  89. package/fesm2015/core.js +2 -2
  90. package/fesm2015/core.js.map +1 -1
  91. package/fesm2015/datepicker.js +30 -13
  92. package/fesm2015/datepicker.js.map +1 -1
  93. package/fesm2015/dialog.js +4 -11
  94. package/fesm2015/dialog.js.map +1 -1
  95. package/fesm2015/input.js +8 -2
  96. package/fesm2015/input.js.map +1 -1
  97. package/fesm2015/slide-toggle.js +4 -4
  98. package/fesm2015/slide-toggle.js.map +1 -1
  99. package/fesm2015/sort.js +7 -1
  100. package/fesm2015/sort.js.map +1 -1
  101. package/fesm2015/stepper.js +2 -2
  102. package/fesm2015/stepper.js.map +1 -1
  103. package/fesm2015/table/testing.js +66 -90
  104. package/fesm2015/table/testing.js.map +1 -1
  105. package/fesm2015/table.js.map +1 -1
  106. package/fesm2015/tabs.js +4 -2
  107. package/fesm2015/tabs.js.map +1 -1
  108. package/fesm2015/tooltip.js +11 -7
  109. package/fesm2015/tooltip.js.map +1 -1
  110. package/form-field/_form-field-legacy-index.scss +24 -0
  111. package/grid-list/_grid-list-legacy-index.scss +2 -0
  112. package/icon/_icon-legacy-index.scss +2 -0
  113. package/input/_input-legacy-index.scss +2 -0
  114. package/input/index.metadata.json +1 -1
  115. package/list/_list-legacy-index.scss +2 -0
  116. package/menu/_menu-legacy-index.scss +2 -0
  117. package/package.json +6 -6
  118. package/paginator/_paginator-legacy-index.scss +2 -0
  119. package/prebuilt-themes/deeppurple-amber.css +1 -1
  120. package/prebuilt-themes/indigo-pink.css +1 -1
  121. package/prebuilt-themes/pink-bluegrey.css +1 -1
  122. package/prebuilt-themes/purple-green.css +1 -1
  123. package/progress-bar/_progress-bar-legacy-index.scss +2 -0
  124. package/progress-spinner/_progress-spinner-legacy-index.scss +2 -0
  125. package/radio/_radio-legacy-index.scss +2 -0
  126. package/schematics/collection.json +0 -6
  127. package/schematics/ng-add/fonts/material-fonts.mjs +46 -0
  128. package/schematics/ng-add/index.js +2 -2
  129. package/schematics/ng-add/index.mjs +55 -0
  130. package/schematics/ng-add/package-config.mjs +47 -0
  131. package/schematics/ng-add/schema.mjs +10 -0
  132. package/schematics/ng-add/setup-project.mjs +121 -0
  133. package/schematics/ng-add/theming/create-custom-theme.mjs +51 -0
  134. package/schematics/ng-add/theming/theming.mjs +165 -0
  135. package/schematics/ng-generate/address-form/index.mjs +49 -0
  136. package/schematics/ng-generate/address-form/schema.mjs +10 -0
  137. package/schematics/ng-generate/dashboard/index.mjs +49 -0
  138. package/schematics/ng-generate/dashboard/schema.mjs +10 -0
  139. package/schematics/ng-generate/navigation/index.mjs +49 -0
  140. package/schematics/ng-generate/navigation/schema.mjs +10 -0
  141. package/schematics/ng-generate/table/index.mjs +46 -0
  142. package/schematics/ng-generate/table/schema.mjs +10 -0
  143. package/schematics/ng-generate/tree/index.mjs +46 -0
  144. package/schematics/ng-generate/tree/schema.mjs +10 -0
  145. package/schematics/ng-update/data/attribute-selectors.mjs +12 -0
  146. package/schematics/ng-update/data/class-names.mjs +32 -0
  147. package/schematics/ng-update/data/constructor-checks.mjs +143 -0
  148. package/schematics/ng-update/data/css-selectors.mjs +46 -0
  149. package/schematics/ng-update/data/element-selectors.mjs +18 -0
  150. package/schematics/ng-update/data/index.mjs +29 -0
  151. package/schematics/ng-update/data/input-names.mjs +76 -0
  152. package/schematics/ng-update/data/method-call-checks.mjs +22 -0
  153. package/schematics/ng-update/data/output-names.mjs +101 -0
  154. package/schematics/ng-update/data/property-names.mjs +173 -0
  155. package/schematics/ng-update/index.js +3 -1
  156. package/schematics/ng-update/index.mjs +78 -0
  157. package/schematics/ng-update/migrations/hammer-gestures-v9/find-hammer-script-tags.mjs +42 -0
  158. package/schematics/ng-update/migrations/hammer-gestures-v9/find-main-module.mjs +32 -0
  159. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +778 -0
  160. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-template-check.mjs +56 -0
  161. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +370 -0
  162. package/schematics/ng-update/migrations/hammer-gestures-v9/remove-array-element.mjs +66 -0
  163. package/schematics/ng-update/migrations/hammer-gestures-v9/remove-element-from-html.mjs +28 -0
  164. package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.mjs +48 -0
  165. package/schematics/ng-update/migrations/misc-checks/misc-class-names.mjs +43 -0
  166. package/schematics/ng-update/migrations/misc-checks/misc-imports.mjs +54 -0
  167. package/schematics/ng-update/migrations/misc-checks/misc-property-names.mjs +47 -0
  168. package/schematics/ng-update/migrations/misc-checks/misc-template.mjs +60 -0
  169. package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.mjs +138 -0
  170. package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor.mjs +30 -0
  171. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +169 -0
  172. package/schematics/{ng-generate/theming-api → ng-update/migrations/theming-api-v12}/config.d.ts +6 -0
  173. package/schematics/ng-update/migrations/theming-api-v12/config.js +206 -0
  174. package/schematics/ng-update/migrations/theming-api-v12/config.mjs +206 -0
  175. package/schematics/{ng-generate/theming-api → ng-update/migrations/theming-api-v12}/migration.d.ts +0 -0
  176. package/schematics/ng-update/migrations/theming-api-v12/migration.js +234 -0
  177. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +234 -0
  178. package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.d.ts +18 -0
  179. package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.js +45 -0
  180. package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.mjs +45 -0
  181. package/schematics/ng-update/typescript/module-specifiers.mjs +35 -0
  182. package/schematics/ng-update/upgrade-data.mjs +24 -0
  183. package/schematics/paths.mjs +16 -0
  184. package/schematics/schematics.externs.js +0 -0
  185. package/select/_select-legacy-index.scss +2 -0
  186. package/sidenav/_sidenav-legacy-index.scss +2 -0
  187. package/slide-toggle/_slide-toggle-legacy-index.scss +3 -0
  188. package/slide-toggle/index.metadata.json +1 -1
  189. package/slide-toggle/slide-toggle.d.ts +3 -2
  190. package/slider/_slider-legacy-index.scss +2 -0
  191. package/snack-bar/_snack-bar-legacy-index.scss +2 -0
  192. package/sort/_sort-legacy-index.scss +2 -0
  193. package/sort/sort-header.d.ts +1 -1
  194. package/stepper/_stepper-legacy-index.scss +7 -0
  195. package/stepper/index.metadata.json +1 -1
  196. package/table/_table-legacy-index.scss +3 -0
  197. package/table/index.metadata.json +1 -1
  198. package/table/table-data-source.d.ts +17 -5
  199. package/table/testing/cell-harness.d.ts +2 -1
  200. package/table/testing/row-harness.d.ts +21 -22
  201. package/table/testing/table-harness.d.ts +32 -13
  202. package/tabs/_tabs-legacy-index.scss +6 -0
  203. package/tabs/_tabs-theme.scss +5 -2
  204. package/tabs/index.metadata.json +1 -1
  205. package/toolbar/_toolbar-legacy-index.scss +4 -0
  206. package/tooltip/_tooltip-legacy-index.scss +3 -0
  207. package/tooltip/index.metadata.json +1 -1
  208. package/tree/_tree-legacy-index.scss +2 -0
  209. package/schematics/ng-generate/theming-api/config.js +0 -183
  210. package/schematics/ng-generate/theming-api/index.d.ts +0 -10
  211. package/schematics/ng-generate/theming-api/index.js +0 -26
  212. package/schematics/ng-generate/theming-api/migration.js +0 -226
  213. package/schematics/ng-generate/theming-api/schema.d.ts +0 -9
  214. package/schematics/ng-generate/theming-api/schema.js +0 -10
  215. package/schematics/ng-generate/theming-api/schema.json +0 -7
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/common'), require('@angular/core'), require('@angular/material/button'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('rxjs'), require('@angular/cdk/keycodes'), require('@angular/cdk/bidi'), require('rxjs/operators'), require('@angular/cdk/coercion'), require('@angular/animations'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input')) :
3
- typeof define === 'function' && define.amd ? define('@angular/material/datepicker', ['exports', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/common', '@angular/core', '@angular/material/button', '@angular/cdk/scrolling', '@angular/material/core', 'rxjs', '@angular/cdk/keycodes', '@angular/cdk/bidi', 'rxjs/operators', '@angular/cdk/coercion', '@angular/animations', '@angular/forms', '@angular/material/form-field', '@angular/material/input'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.datepicker = {}), global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.common, global.ng.core, global.ng.material.button, global.ng.cdk.scrolling, global.ng.material.core, global.rxjs, global.ng.cdk.keycodes, global.ng.cdk.bidi, global.rxjs.operators, global.ng.cdk.coercion, global.ng.animations, global.ng.forms, global.ng.material.formField, global.ng.material.input));
5
- }(this, (function (exports, a11y, overlay, portal, common, i0, button, scrolling, core, rxjs, keycodes, bidi, operators, coercion, animations, forms, formField, input) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/a11y'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/common'), require('@angular/core'), require('@angular/material/button'), require('@angular/cdk/scrolling'), require('@angular/material/core'), require('rxjs'), require('@angular/cdk/keycodes'), require('@angular/cdk/bidi'), require('rxjs/operators'), require('@angular/cdk/coercion'), require('@angular/cdk/platform'), require('@angular/animations'), require('@angular/forms'), require('@angular/material/form-field'), require('@angular/material/input')) :
3
+ typeof define === 'function' && define.amd ? define('@angular/material/datepicker', ['exports', '@angular/cdk/a11y', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/common', '@angular/core', '@angular/material/button', '@angular/cdk/scrolling', '@angular/material/core', 'rxjs', '@angular/cdk/keycodes', '@angular/cdk/bidi', 'rxjs/operators', '@angular/cdk/coercion', '@angular/cdk/platform', '@angular/animations', '@angular/forms', '@angular/material/form-field', '@angular/material/input'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.datepicker = {}), global.ng.cdk.a11y, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.common, global.ng.core, global.ng.material.button, global.ng.cdk.scrolling, global.ng.material.core, global.rxjs, global.ng.cdk.keycodes, global.ng.cdk.bidi, global.rxjs.operators, global.ng.cdk.coercion, global.ng.cdk.platform, global.ng.animations, global.ng.forms, global.ng.material.formField, global.ng.material.input));
5
+ }(this, (function (exports, a11y, overlay, portal, common, i0, button, scrolling, core, rxjs, keycodes, bidi, operators, coercion, platform, animations, forms, formField, input) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -70,9 +70,9 @@
70
70
  /** A label for the next year button (used by screen readers). */
71
71
  this.nextYearLabel = 'Next year';
72
72
  /** A label for the previous multi-year button (used by screen readers). */
73
- this.prevMultiYearLabel = 'Previous 20 years';
73
+ this.prevMultiYearLabel = 'Previous 24 years';
74
74
  /** A label for the next multi-year button (used by screen readers). */
75
- this.nextMultiYearLabel = 'Next 20 years';
75
+ this.nextMultiYearLabel = 'Next 24 years';
76
76
  /** A label for the 'switch to month view' button (used by screen readers). */
77
77
  this.switchToMonthViewLabel = 'Choose date';
78
78
  /** A label for the 'switch to year view' button (used by screen readers). */
@@ -2362,13 +2362,17 @@
2362
2362
  * @deprecated `_dialog` parameter is no longer being used and it will be removed.
2363
2363
  * @breaking-change 13.0.0
2364
2364
  */
2365
- _dialog, _overlay, _ngZone, _viewContainerRef, scrollStrategy, _dateAdapter, _dir, _document, _model) {
2365
+ _dialog, _overlay, _ngZone, _viewContainerRef, scrollStrategy, _dateAdapter, _dir,
2366
+ /**
2367
+ * @deprecated No longer being used. To be removed.
2368
+ * @breaking-change 13.0.0
2369
+ */
2370
+ _document, _model) {
2366
2371
  this._overlay = _overlay;
2367
2372
  this._ngZone = _ngZone;
2368
2373
  this._viewContainerRef = _viewContainerRef;
2369
2374
  this._dateAdapter = _dateAdapter;
2370
2375
  this._dir = _dir;
2371
- this._document = _document;
2372
2376
  this._model = _model;
2373
2377
  this._inputStateChanges = rxjs.Subscription.EMPTY;
2374
2378
  /** The view that the calendar should start in. */
@@ -2581,18 +2585,13 @@
2581
2585
  };
2582
2586
  /** Open the calendar. */
2583
2587
  MatDatepickerBase.prototype.open = function () {
2584
- var _a, _b;
2585
2588
  if (this._opened || this.disabled) {
2586
2589
  return;
2587
2590
  }
2588
2591
  if (!this.datepickerInput && (typeof ngDevMode === 'undefined' || ngDevMode)) {
2589
2592
  throw Error('Attempted to open an MatDatepicker with no associated input.');
2590
2593
  }
2591
- // If the `activeElement` is inside a shadow root, `document.activeElement` will
2592
- // point to the shadow root so we have to descend into it ourselves.
2593
- var activeElement = (_a = this._document) === null || _a === void 0 ? void 0 : _a.activeElement;
2594
- this._focusedElementBeforeOpen =
2595
- ((_b = activeElement === null || activeElement === void 0 ? void 0 : activeElement.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement) || activeElement;
2594
+ this._focusedElementBeforeOpen = platform._getFocusedElementPierceShadowDom();
2596
2595
  this._openOverlay();
2597
2596
  this._opened = true;
2598
2597
  this.openedStream.emit();
@@ -2647,6 +2646,7 @@
2647
2646
  var _this = this;
2648
2647
  this._destroyOverlay();
2649
2648
  var isDialog = this.touchUi;
2649
+ var labelId = this.datepickerInput.getOverlayLabelId();
2650
2650
  var portal$1 = new portal.ComponentPortal(MatDatepickerContent, this._viewContainerRef);
2651
2651
  var overlayRef = this._overlayRef = this._overlay.create(new overlay.OverlayConfig({
2652
2652
  positionStrategy: isDialog ? this._getDialogStrategy() : this._getDropdownStrategy(),
@@ -2659,9 +2659,13 @@
2659
2659
  scrollStrategy: isDialog ? this._overlay.scrollStrategies.block() : this._scrollStrategy(),
2660
2660
  panelClass: "mat-datepicker-" + (isDialog ? 'dialog' : 'popup'),
2661
2661
  }));
2662
- overlayRef.overlayElement.setAttribute('role', 'dialog');
2662
+ var overlayElement = overlayRef.overlayElement;
2663
+ overlayElement.setAttribute('role', 'dialog');
2664
+ if (labelId) {
2665
+ overlayElement.setAttribute('aria-labelledby', labelId);
2666
+ }
2663
2667
  if (isDialog) {
2664
- overlayRef.overlayElement.setAttribute('aria-modal', 'true');
2668
+ overlayElement.setAttribute('aria-modal', 'true');
2665
2669
  }
2666
2670
  this._getCloseStream(overlayRef).subscribe(function (event) {
2667
2671
  if (event) {
@@ -3181,6 +3185,13 @@
3181
3185
  MatDatepickerInput.prototype.getConnectedOverlayOrigin = function () {
3182
3186
  return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;
3183
3187
  };
3188
+ /** Gets the ID of an element that should be used a description for the calendar overlay. */
3189
+ MatDatepickerInput.prototype.getOverlayLabelId = function () {
3190
+ if (this._formField) {
3191
+ return this._formField.getLabelId();
3192
+ }
3193
+ return this._elementRef.nativeElement.getAttribute('aria-labelledby');
3194
+ };
3184
3195
  /** Returns the palette used by the input's form field, if any. */
3185
3196
  MatDatepickerInput.prototype.getThemePalette = function () {
3186
3197
  return this._formField ? this._formField.color : undefined;
@@ -3397,7 +3408,8 @@
3397
3408
  // itself. Usually we can work around it for the CVA, but there's no API to do it for the
3398
3409
  // validator. We work around it here by injecting the `NgControl` in `ngOnInit`, after
3399
3410
  // everything has been resolved.
3400
- var ngControl = this._injector.get(forms.NgControl, null, i0.InjectFlags.Self);
3411
+ // tslint:disable-next-line:no-bitwise
3412
+ var ngControl = this._injector.get(forms.NgControl, null, i0.InjectFlags.Self | i0.InjectFlags.Optional);
3401
3413
  if (ngControl) {
3402
3414
  this.ngControl = ngControl;
3403
3415
  }
@@ -3933,6 +3945,10 @@
3933
3945
  MatDateRangeInput.prototype.getConnectedOverlayOrigin = function () {
3934
3946
  return this._formField ? this._formField.getConnectedOverlayOrigin() : this._elementRef;
3935
3947
  };
3948
+ /** Gets the ID of an element that should be used a description for the calendar overlay. */
3949
+ MatDateRangeInput.prototype.getOverlayLabelId = function () {
3950
+ return this._formField ? this._formField.getLabelId() : null;
3951
+ };
3936
3952
  /** Gets the value that is used to mirror the state input. */
3937
3953
  MatDateRangeInput.prototype._getInputMirrorValue = function () {
3938
3954
  return this._startInput ? this._startInput.getMirrorValue() : '';