@angular/material 19.1.0 → 19.1.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 (82) hide show
  1. package/autocomplete/index.d.ts +1 -1
  2. package/bottom-sheet/index.d.ts +5 -1
  3. package/button/_button-base.scss +3 -3
  4. package/checkbox/_checkbox-common.scss +10 -10
  5. package/dialog/index.d.ts +5 -1
  6. package/fesm2022/autocomplete.mjs +16 -16
  7. package/fesm2022/autocomplete.mjs.map +1 -1
  8. package/fesm2022/badge.mjs +10 -10
  9. package/fesm2022/badge.mjs.map +1 -1
  10. package/fesm2022/bottom-sheet.mjs +16 -12
  11. package/fesm2022/bottom-sheet.mjs.map +1 -1
  12. package/fesm2022/button-toggle.mjs +11 -11
  13. package/fesm2022/button-toggle.mjs.map +1 -1
  14. package/fesm2022/button.mjs +42 -42
  15. package/fesm2022/button.mjs.map +1 -1
  16. package/fesm2022/card.mjs +46 -46
  17. package/fesm2022/card.mjs.map +1 -1
  18. package/fesm2022/checkbox.mjs +16 -16
  19. package/fesm2022/checkbox.mjs.map +1 -1
  20. package/fesm2022/chips.mjs +45 -46
  21. package/fesm2022/chips.mjs.map +1 -1
  22. package/fesm2022/core.mjs +66 -66
  23. package/fesm2022/core.mjs.map +1 -1
  24. package/fesm2022/datepicker.mjs +82 -82
  25. package/fesm2022/datepicker.mjs.map +1 -1
  26. package/fesm2022/dialog.mjs +31 -27
  27. package/fesm2022/dialog.mjs.map +1 -1
  28. package/fesm2022/divider.mjs +7 -7
  29. package/fesm2022/divider.mjs.map +1 -1
  30. package/fesm2022/expansion.mjs +26 -26
  31. package/fesm2022/expansion.mjs.map +1 -1
  32. package/fesm2022/form-field.mjs +34 -34
  33. package/fesm2022/form-field.mjs.map +1 -1
  34. package/fesm2022/grid-list.mjs +22 -22
  35. package/fesm2022/grid-list.mjs.map +1 -1
  36. package/fesm2022/icon/testing.mjs +7 -7
  37. package/fesm2022/icon/testing.mjs.map +1 -1
  38. package/fesm2022/icon.mjs +10 -10
  39. package/fesm2022/icon.mjs.map +1 -1
  40. package/fesm2022/input.mjs +7 -7
  41. package/fesm2022/input.mjs.map +1 -1
  42. package/fesm2022/list.mjs +49 -49
  43. package/fesm2022/list.mjs.map +1 -1
  44. package/fesm2022/menu.mjs +16 -16
  45. package/fesm2022/menu.mjs.map +1 -1
  46. package/fesm2022/paginator.mjs +10 -10
  47. package/fesm2022/paginator.mjs.map +1 -1
  48. package/fesm2022/progress-bar.mjs +7 -7
  49. package/fesm2022/progress-bar.mjs.map +1 -1
  50. package/fesm2022/progress-spinner.mjs +7 -7
  51. package/fesm2022/progress-spinner.mjs.map +1 -1
  52. package/fesm2022/radio.mjs +10 -10
  53. package/fesm2022/radio.mjs.map +1 -1
  54. package/fesm2022/select.mjs +10 -10
  55. package/fesm2022/select.mjs.map +1 -1
  56. package/fesm2022/sidenav.mjs +22 -22
  57. package/fesm2022/sidenav.mjs.map +1 -1
  58. package/fesm2022/slide-toggle.mjs +14 -14
  59. package/fesm2022/slide-toggle.mjs.map +1 -1
  60. package/fesm2022/slider.mjs +16 -16
  61. package/fesm2022/slider.mjs.map +1 -1
  62. package/fesm2022/snack-bar.mjs +22 -22
  63. package/fesm2022/snack-bar.mjs.map +1 -1
  64. package/fesm2022/sort.mjs +13 -13
  65. package/fesm2022/sort.mjs.map +1 -1
  66. package/fesm2022/stepper.mjs +31 -31
  67. package/fesm2022/stepper.mjs.map +1 -1
  68. package/fesm2022/table.mjs +55 -55
  69. package/fesm2022/table.mjs.map +1 -1
  70. package/fesm2022/tabs.mjs +43 -43
  71. package/fesm2022/tabs.mjs.map +1 -1
  72. package/fesm2022/timepicker.mjs +13 -13
  73. package/fesm2022/timepicker.mjs.map +1 -1
  74. package/fesm2022/toolbar.mjs +10 -10
  75. package/fesm2022/toolbar.mjs.map +1 -1
  76. package/fesm2022/tooltip.mjs +10 -10
  77. package/fesm2022/tooltip.mjs.map +1 -1
  78. package/fesm2022/tree.mjs +25 -25
  79. package/fesm2022/tree.mjs.map +1 -1
  80. package/package.json +2 -2
  81. package/schematics/ng-add/index.js +1 -1
  82. package/schematics/ng-add/index.mjs +1 -1
@@ -248,7 +248,7 @@ export declare class MatAutocompleteSelectedEvent {
248
248
 
249
249
  /** Base class with all of the `MatAutocompleteTrigger` functionality. */
250
250
  export declare class MatAutocompleteTrigger implements ControlValueAccessor, AfterViewInit, OnChanges, OnDestroy {
251
- private _injector;
251
+ private _environmentInjector;
252
252
  private _element;
253
253
  private _overlay;
254
254
  private _viewContainerRef;
@@ -94,7 +94,11 @@ export declare class MatBottomSheetConfig<D = any> {
94
94
  disableClose?: boolean;
95
95
  /** Aria label to assign to the bottom sheet element. */
96
96
  ariaLabel?: string | null;
97
- /** Whether this is a modal bottom sheet. Used to set the `aria-modal` attribute. */
97
+ /**
98
+ * Whether this is a modal dialog. Used to set the `aria-modal` attribute. Off by default,
99
+ * because it can interfere with other overlay-based components (e.g. `mat-select`) and because
100
+ * it is redundant since the dialog marks all outside content as `aria-hidden` anyway.
101
+ */
98
102
  ariaModal?: boolean;
99
103
  /**
100
104
  * Whether the bottom sheet should close when the user goes backwards/forwards in history.
@@ -52,7 +52,7 @@
52
52
  @include layout-common.fill();
53
53
  }
54
54
 
55
- &:focus .mat-focus-indicator::before {
55
+ &:focus > .mat-focus-indicator::before {
56
56
  content: '';
57
57
  }
58
58
  }
@@ -78,12 +78,12 @@
78
78
  &.cdk-program-focused,
79
79
  &.cdk-keyboard-focused,
80
80
  &.mat-mdc-button-disabled-interactive:focus {
81
- .mat-mdc-button-persistent-ripple::before {
81
+ > .mat-mdc-button-persistent-ripple::before {
82
82
  @include token-utils.create-token-slot(opacity, focus-state-layer-opacity);
83
83
  }
84
84
  }
85
85
 
86
- &:active .mat-mdc-button-persistent-ripple::before {
86
+ &:active > .mat-mdc-button-persistent-ripple::before {
87
87
  @include token-utils.create-token-slot(opacity, pressed-state-layer-opacity);
88
88
  }
89
89
  }
@@ -457,7 +457,7 @@ $_fallback-size: 40px;
457
457
  // MDC expects `.mdc-checkbox__ripple::before` to be the state layer, but we use
458
458
  // `.mdc-checkbox__ripple` instead, so we emit the state layer slots ourselves.
459
459
  &:hover {
460
- .mdc-checkbox__ripple {
460
+ > .mdc-checkbox__ripple {
461
461
  @include token-utils.create-token-slot(opacity, unselected-hover-state-layer-opacity);
462
462
  @include token-utils.create-token-slot(
463
463
  background-color,
@@ -465,7 +465,7 @@ $_fallback-size: 40px;
465
465
  );
466
466
  }
467
467
 
468
- .mat-mdc-checkbox-ripple .mat-ripple-element {
468
+ > .mat-mdc-checkbox-ripple .mat-ripple-element {
469
469
  @include token-utils.create-token-slot(
470
470
  background-color,
471
471
  unselected-hover-state-layer-color
@@ -474,7 +474,7 @@ $_fallback-size: 40px;
474
474
  }
475
475
 
476
476
  .mdc-checkbox__native-control:focus {
477
- & ~ .mdc-checkbox__ripple {
477
+ & + .mdc-checkbox__ripple {
478
478
  @include token-utils.create-token-slot(opacity, unselected-focus-state-layer-opacity);
479
479
  @include token-utils.create-token-slot(
480
480
  background-color,
@@ -490,8 +490,8 @@ $_fallback-size: 40px;
490
490
  }
491
491
  }
492
492
 
493
- &:active .mdc-checkbox__native-control {
494
- & ~ .mdc-checkbox__ripple {
493
+ &:active > .mdc-checkbox__native-control {
494
+ & + .mdc-checkbox__ripple {
495
495
  @include token-utils.create-token-slot(opacity, unselected-pressed-state-layer-opacity);
496
496
  @include token-utils.create-token-slot(
497
497
  background-color,
@@ -508,7 +508,7 @@ $_fallback-size: 40px;
508
508
  }
509
509
 
510
510
  &:hover .mdc-checkbox__native-control:checked {
511
- & ~ .mdc-checkbox__ripple {
511
+ & + .mdc-checkbox__ripple {
512
512
  @include token-utils.create-token-slot(opacity, selected-hover-state-layer-opacity);
513
513
  @include token-utils.create-token-slot(
514
514
  background-color,
@@ -525,7 +525,7 @@ $_fallback-size: 40px;
525
525
  }
526
526
 
527
527
  .mdc-checkbox__native-control:focus:checked {
528
- & ~ .mdc-checkbox__ripple {
528
+ & + .mdc-checkbox__ripple {
529
529
  @include token-utils.create-token-slot(opacity, selected-focus-state-layer-opacity);
530
530
  @include token-utils.create-token-slot(
531
531
  background-color,
@@ -541,8 +541,8 @@ $_fallback-size: 40px;
541
541
  }
542
542
  }
543
543
 
544
- &:active .mdc-checkbox__native-control:checked {
545
- & ~ .mdc-checkbox__ripple {
544
+ &:active > .mdc-checkbox__native-control:checked {
545
+ & + .mdc-checkbox__ripple {
546
546
  @include token-utils.create-token-slot(opacity, selected-pressed-state-layer-opacity);
547
547
  @include token-utils.create-token-slot(
548
548
  background-color,
@@ -561,7 +561,7 @@ $_fallback-size: 40px;
561
561
  // Needs extra specificity to override the focus, hover, active states.
562
562
  .mdc-checkbox--disabled.mat-mdc-checkbox-disabled-interactive & {
563
563
  .mdc-checkbox__native-control ~ .mat-mdc-checkbox-ripple .mat-ripple-element,
564
- .mdc-checkbox__native-control ~ .mdc-checkbox__ripple {
564
+ .mdc-checkbox__native-control + .mdc-checkbox__ripple {
565
565
  @include token-utils.create-token-slot(
566
566
  background-color,
567
567
  unselected-hover-state-layer-color
package/dialog/index.d.ts CHANGED
@@ -272,7 +272,11 @@ export declare class MatDialogConfig<D = any> {
272
272
  ariaLabelledBy?: string | null;
273
273
  /** Aria label to assign to the dialog element. */
274
274
  ariaLabel?: string | null;
275
- /** Whether this is a modal dialog. Used to set the `aria-modal` attribute. */
275
+ /**
276
+ * Whether this is a modal dialog. Used to set the `aria-modal` attribute. Off by default,
277
+ * because it can interfere with other overlay-based components (e.g. `mat-select`) and because
278
+ * it is redundant since the dialog marks all outside content as `aria-hidden` anyway.
279
+ */
276
280
  ariaModal?: boolean;
277
281
  /**
278
282
  * Where the dialog should focus on open.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, ChangeDetectorRef, ElementRef, EventEmitter, booleanAttribute, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, ContentChildren, Input, Output, Directive, forwardRef, Injector, ViewContainerRef, NgZone, Renderer2, afterNextRender, NgModule } from '@angular/core';
2
+ import { InjectionToken, inject, ChangeDetectorRef, ElementRef, EventEmitter, booleanAttribute, TemplateRef, Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, ContentChildren, Input, Output, Directive, forwardRef, EnvironmentInjector, ViewContainerRef, NgZone, Renderer2, afterNextRender, NgModule } from '@angular/core';
3
3
  import { MAT_OPTION_PARENT_COMPONENT, MatOption, MAT_OPTGROUP, MatOptionSelectionChange, _countGroupLabelsBeforeOption, _getOptionScrollPosition, MatOptionModule, MatCommonModule } from '@angular/material/core';
4
4
  export { MatOptgroup, MatOption } from '@angular/material/core';
5
5
  import { ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';
@@ -242,10 +242,10 @@ class MatAutocomplete {
242
242
  _skipPredicate() {
243
243
  return false;
244
244
  }
245
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Component });
246
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.1.0-rc.0", type: MatAutocomplete, isStandalone: true, selector: "mat-autocomplete", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: ["autoActiveFirstOption", "autoActiveFirstOption", booleanAttribute], autoSelectActiveOption: ["autoSelectActiveOption", "autoSelectActiveOption", booleanAttribute], requireSelection: ["requireSelection", "requireSelection", booleanAttribute], panelWidth: "panelWidth", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], classList: ["class", "classList"], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, host: { classAttribute: "mat-mdc-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["matAutocomplete"], ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [class]=\"_classList\"\n [class.mat-mdc-autocomplete-visible]=\"showPanel\"\n [class.mat-mdc-autocomplete-hidden]=\"!showPanel\"\n [class.mat-primary]=\"_color === 'primary'\"\n [class.mat-accent]=\"_color === 'accent'\"\n [class.mat-warn]=\"_color === 'warn'\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n (@panelAnimation.done)=\"_animationDone.next($event)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}mat-autocomplete{display:none}"], animations: [panelAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
245
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Component });
246
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.1.3", type: MatAutocomplete, isStandalone: true, selector: "mat-autocomplete", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: ["autoActiveFirstOption", "autoActiveFirstOption", booleanAttribute], autoSelectActiveOption: ["autoSelectActiveOption", "autoSelectActiveOption", booleanAttribute], requireSelection: ["requireSelection", "requireSelection", booleanAttribute], panelWidth: "panelWidth", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], classList: ["class", "classList"], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, host: { classAttribute: "mat-mdc-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["matAutocomplete"], ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [class]=\"_classList\"\n [class.mat-mdc-autocomplete-visible]=\"showPanel\"\n [class.mat-mdc-autocomplete-hidden]=\"!showPanel\"\n [class.mat-primary]=\"_color === 'primary'\"\n [class.mat-accent]=\"_color === 'accent'\"\n [class.mat-warn]=\"_color === 'warn'\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n (@panelAnimation.done)=\"_animationDone.next($event)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;box-sizing:border-box;position:static;border-radius:var(--mat-autocomplete-container-shape, var(--mat-sys-corner-extra-small));box-shadow:var(--mat-autocomplete-container-elevation-shadow, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12));background-color:var(--mat-autocomplete-background-color, var(--mat-sys-surface-container))}@media(forced-colors: active){div.mat-mdc-autocomplete-panel{outline:solid 1px}}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden;pointer-events:none}mat-autocomplete{display:none}"], animations: [panelAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocomplete, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocomplete, decorators: [{
249
249
  type: Component,
250
250
  args: [{ selector: 'mat-autocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'matAutocomplete', host: {
251
251
  'class': 'mat-mdc-autocomplete',
@@ -307,10 +307,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ng
307
307
  class MatAutocompleteOrigin {
308
308
  elementRef = inject(ElementRef);
309
309
  constructor() { }
310
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocompleteOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
311
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.0-rc.0", type: MatAutocompleteOrigin, isStandalone: true, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], ngImport: i0 });
310
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocompleteOrigin, deps: [], target: i0.ɵɵFactoryTarget.Directive });
311
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.3", type: MatAutocompleteOrigin, isStandalone: true, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], ngImport: i0 });
312
312
  }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
314
314
  type: Directive,
315
315
  args: [{
316
316
  selector: '[matAutocompleteOrigin]',
@@ -356,7 +356,7 @@ const MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER = {
356
356
  };
357
357
  /** Base class with all of the `MatAutocompleteTrigger` functionality. */
358
358
  class MatAutocompleteTrigger {
359
- _injector = inject(Injector);
359
+ _environmentInjector = inject(EnvironmentInjector);
360
360
  _element = inject(ElementRef);
361
361
  _overlay = inject(Overlay);
362
362
  _viewContainerRef = inject(ViewContainerRef);
@@ -745,7 +745,7 @@ class MatAutocompleteTrigger {
745
745
  const initialRender = new Observable(subscriber => {
746
746
  afterNextRender(() => {
747
747
  subscriber.next();
748
- }, { injector: this._injector });
748
+ }, { injector: this._environmentInjector });
749
749
  });
750
750
  const optionChanges = this.autocomplete.options.changes.pipe(tap(() => this._positionStrategy.reapplyLastPosition()),
751
751
  // Defer emitting to the stream until the next tick, because changing
@@ -1161,10 +1161,10 @@ class MatAutocompleteTrigger {
1161
1161
  this._trackedModal = null;
1162
1162
  }
1163
1163
  }
1164
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocompleteTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1165
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.0-rc.0", type: MatAutocompleteTrigger, isStandalone: true, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled", booleanAttribute] }, host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-controls": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-mdc-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesOnChanges: true, ngImport: i0 });
1164
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocompleteTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1165
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "19.1.3", type: MatAutocompleteTrigger, isStandalone: true, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled", booleanAttribute] }, host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-controls": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-mdc-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesOnChanges: true, ngImport: i0 });
1166
1166
  }
1167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
1167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
1168
1168
  type: Directive,
1169
1169
  args: [{
1170
1170
  selector: `input[matAutocomplete], textarea[matAutocomplete]`,
@@ -1206,8 +1206,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ng
1206
1206
  }] } });
1207
1207
 
1208
1208
  class MatAutocompleteModule {
1209
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1210
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocompleteModule, imports: [OverlayModule,
1209
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1210
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.3", ngImport: i0, type: MatAutocompleteModule, imports: [OverlayModule,
1211
1211
  MatOptionModule,
1212
1212
  MatCommonModule,
1213
1213
  MatAutocomplete,
@@ -1218,13 +1218,13 @@ class MatAutocompleteModule {
1218
1218
  MatCommonModule,
1219
1219
  MatAutocompleteTrigger,
1220
1220
  MatAutocompleteOrigin] });
1221
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [OverlayModule,
1221
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [OverlayModule,
1222
1222
  MatOptionModule,
1223
1223
  MatCommonModule, CdkScrollableModule,
1224
1224
  MatOptionModule,
1225
1225
  MatCommonModule] });
1226
1226
  }
1227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-rc.0", ngImport: i0, type: MatAutocompleteModule, decorators: [{
1227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.3", ngImport: i0, type: MatAutocompleteModule, decorators: [{
1228
1228
  type: NgModule,
1229
1229
  args: [{
1230
1230
  imports: [