@angular/material 13.2.2 → 13.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/autocomplete/autocomplete-trigger.d.ts +1 -0
  2. package/button-toggle/_button-toggle-theme.scss +14 -2
  3. package/checkbox/_checkbox-theme.scss +7 -1
  4. package/core/datetime/index.d.ts +1 -2
  5. package/core/ripple/index.d.ts +1 -2
  6. package/core/theming/_theming.scss +9 -0
  7. package/esm2020/autocomplete/autocomplete-trigger.mjs +19 -6
  8. package/esm2020/button-toggle/button-toggle.mjs +2 -2
  9. package/esm2020/checkbox/checkbox.mjs +4 -2
  10. package/esm2020/core/datetime/index.mjs +3 -5
  11. package/esm2020/core/ripple/index.mjs +4 -5
  12. package/esm2020/core/version.mjs +1 -1
  13. package/esm2020/datepicker/calendar.mjs +9 -9
  14. package/esm2020/datepicker/datepicker-input-base.mjs +9 -4
  15. package/esm2020/dialog/dialog.mjs +2 -2
  16. package/esm2020/form-field/form-field.mjs +3 -3
  17. package/esm2020/menu/menu-item.mjs +5 -1
  18. package/esm2020/menu/menu-trigger.mjs +15 -6
  19. package/esm2020/menu/menu.mjs +30 -9
  20. package/esm2020/progress-spinner/progress-spinner-module.mjs +5 -5
  21. package/esm2020/progress-spinner/progress-spinner.mjs +8 -48
  22. package/esm2020/progress-spinner/public-api.mjs +10 -2
  23. package/esm2020/radio/radio.mjs +3 -3
  24. package/esm2020/select/select.mjs +3 -3
  25. package/esm2020/sidenav/drawer.mjs +3 -3
  26. package/esm2020/sidenav/sidenav-module.mjs +4 -5
  27. package/esm2020/sidenav/sidenav.mjs +3 -3
  28. package/esm2020/sort/sort-header.mjs +4 -4
  29. package/esm2020/tabs/tab-body.mjs +3 -3
  30. package/esm2020/tabs/tab-header.mjs +3 -3
  31. package/esm2020/tooltip/tooltip.mjs +30 -7
  32. package/fesm2015/autocomplete.mjs +19 -6
  33. package/fesm2015/autocomplete.mjs.map +1 -1
  34. package/fesm2015/button-toggle.mjs +2 -2
  35. package/fesm2015/checkbox.mjs +3 -1
  36. package/fesm2015/checkbox.mjs.map +1 -1
  37. package/fesm2015/core.mjs +7 -8
  38. package/fesm2015/core.mjs.map +1 -1
  39. package/fesm2015/datepicker.mjs +15 -10
  40. package/fesm2015/datepicker.mjs.map +1 -1
  41. package/fesm2015/dialog.mjs +1 -1
  42. package/fesm2015/dialog.mjs.map +1 -1
  43. package/fesm2015/form-field.mjs +2 -2
  44. package/fesm2015/form-field.mjs.map +1 -1
  45. package/fesm2015/menu.mjs +47 -11
  46. package/fesm2015/menu.mjs.map +1 -1
  47. package/fesm2015/progress-spinner.mjs +22 -57
  48. package/fesm2015/progress-spinner.mjs.map +1 -1
  49. package/fesm2015/radio.mjs +2 -2
  50. package/fesm2015/radio.mjs.map +1 -1
  51. package/fesm2015/select.mjs +2 -2
  52. package/fesm2015/select.mjs.map +1 -1
  53. package/fesm2015/sidenav.mjs +8 -9
  54. package/fesm2015/sidenav.mjs.map +1 -1
  55. package/fesm2015/sort.mjs +3 -3
  56. package/fesm2015/sort.mjs.map +1 -1
  57. package/fesm2015/tabs.mjs +4 -4
  58. package/fesm2015/tabs.mjs.map +1 -1
  59. package/fesm2015/tooltip.mjs +31 -6
  60. package/fesm2015/tooltip.mjs.map +1 -1
  61. package/fesm2020/autocomplete.mjs +19 -6
  62. package/fesm2020/autocomplete.mjs.map +1 -1
  63. package/fesm2020/button-toggle.mjs +2 -2
  64. package/fesm2020/checkbox.mjs +3 -1
  65. package/fesm2020/checkbox.mjs.map +1 -1
  66. package/fesm2020/core.mjs +7 -8
  67. package/fesm2020/core.mjs.map +1 -1
  68. package/fesm2020/datepicker.mjs +15 -10
  69. package/fesm2020/datepicker.mjs.map +1 -1
  70. package/fesm2020/dialog.mjs +1 -1
  71. package/fesm2020/dialog.mjs.map +1 -1
  72. package/fesm2020/form-field.mjs +2 -2
  73. package/fesm2020/form-field.mjs.map +1 -1
  74. package/fesm2020/menu.mjs +45 -11
  75. package/fesm2020/menu.mjs.map +1 -1
  76. package/fesm2020/progress-spinner.mjs +22 -55
  77. package/fesm2020/progress-spinner.mjs.map +1 -1
  78. package/fesm2020/radio.mjs +2 -2
  79. package/fesm2020/radio.mjs.map +1 -1
  80. package/fesm2020/select.mjs +2 -2
  81. package/fesm2020/select.mjs.map +1 -1
  82. package/fesm2020/sidenav.mjs +8 -9
  83. package/fesm2020/sidenav.mjs.map +1 -1
  84. package/fesm2020/sort.mjs +3 -3
  85. package/fesm2020/sort.mjs.map +1 -1
  86. package/fesm2020/tabs.mjs +4 -4
  87. package/fesm2020/tabs.mjs.map +1 -1
  88. package/fesm2020/tooltip.mjs +29 -6
  89. package/fesm2020/tooltip.mjs.map +1 -1
  90. package/menu/menu-item.d.ts +3 -2
  91. package/menu/menu-trigger.d.ts +7 -1
  92. package/menu/menu.d.ts +7 -2
  93. package/package.json +2 -2
  94. package/prebuilt-themes/deeppurple-amber.css +1 -1
  95. package/prebuilt-themes/indigo-pink.css +1 -1
  96. package/prebuilt-themes/pink-bluegrey.css +1 -1
  97. package/prebuilt-themes/purple-green.css +1 -1
  98. package/progress-spinner/progress-spinner-module.d.ts +1 -1
  99. package/progress-spinner/progress-spinner.d.ts +1 -18
  100. package/progress-spinner/public-api.d.ts +8 -1
  101. package/schematics/ng-add/index.js +1 -1
  102. package/schematics/ng-add/index.mjs +1 -1
  103. package/sidenav/sidenav-module.d.ts +2 -3
  104. package/tooltip/tooltip.d.ts +13 -1
package/fesm2015/menu.mjs CHANGED
@@ -242,6 +242,7 @@ class MatMenuItem extends _MatMenuItemBase {
242
242
  var _a;
243
243
  super();
244
244
  this._elementRef = _elementRef;
245
+ this._document = _document;
245
246
  this._focusMonitor = _focusMonitor;
246
247
  this._parentMenu = _parentMenu;
247
248
  this._changeDetectorRef = _changeDetectorRef;
@@ -324,6 +325,9 @@ class MatMenuItem extends _MatMenuItemBase {
324
325
  this._highlighted = isHighlighted;
325
326
  (_a = this._changeDetectorRef) === null || _a === void 0 ? void 0 : _a.markForCheck();
326
327
  }
328
+ _hasFocus() {
329
+ return this._document && this._document.activeElement === this._getHostElement();
330
+ }
327
331
  }
328
332
  MatMenuItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatMenuItem, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }, { token: i1.FocusMonitor }, { token: MAT_MENU_PANEL, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
329
333
  MatMenuItem.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatMenuItem, selector: "[mat-menu-item]", inputs: { disabled: "disabled", disableRipple: "disableRipple", role: "role" }, host: { listeners: { "click": "_checkDisabled($event)", "mouseenter": "_handleMouseEnter()" }, properties: { "attr.role": "role", "class.mat-menu-item": "true", "class.mat-menu-item-highlighted": "_highlighted", "class.mat-menu-item-submenu-trigger": "_triggersSubmenu", "attr.tabindex": "_getTabIndex()", "attr.aria-disabled": "disabled.toString()", "attr.disabled": "disabled || null" }, classAttribute: "mat-focus-indicator" }, exportAs: ["matMenuItem"], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n<div class=\"mat-menu-ripple\" matRipple\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleTrigger]=\"_getHostElement()\">\n</div>\n\n<svg\n *ngIf=\"_triggersSubmenu\"\n class=\"mat-menu-submenu-icon\"\n viewBox=\"0 0 5 10\"\n focusable=\"false\"><polygon points=\"0,0 5,5 0,10\"/></svg>\n", directives: [{ type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
@@ -379,10 +383,13 @@ function MAT_MENU_DEFAULT_OPTIONS_FACTORY() {
379
383
  let menuPanelUid = 0;
380
384
  /** Base class with all of the `MatMenu` functionality. */
381
385
  class _MatMenuBase {
382
- constructor(_elementRef, _ngZone, _defaultOptions) {
386
+ constructor(_elementRef, _ngZone, _defaultOptions,
387
+ // @breaking-change 15.0.0 `_changeDetectorRef` to become a required parameter.
388
+ _changeDetectorRef) {
383
389
  this._elementRef = _elementRef;
384
390
  this._ngZone = _ngZone;
385
391
  this._defaultOptions = _defaultOptions;
392
+ this._changeDetectorRef = _changeDetectorRef;
386
393
  this._xPosition = this._defaultOptions.xPosition;
387
394
  this._yPosition = this._defaultOptions.yPosition;
388
395
  /** Only the direct descendant menu items. */
@@ -499,6 +506,23 @@ class _MatMenuBase {
499
506
  this._directDescendantItems.changes
500
507
  .pipe(startWith(this._directDescendantItems), switchMap(items => merge(...items.map((item) => item._focused))))
501
508
  .subscribe(focusedItem => this._keyManager.updateActiveItem(focusedItem));
509
+ this._directDescendantItems.changes.subscribe((itemsList) => {
510
+ var _a;
511
+ // Move focus to another item, if the active item is removed from the list.
512
+ // We need to debounce the callback, because multiple items might be removed
513
+ // in quick succession.
514
+ const manager = this._keyManager;
515
+ if (this._panelAnimationState === 'enter' && ((_a = manager.activeItem) === null || _a === void 0 ? void 0 : _a._hasFocus())) {
516
+ const items = itemsList.toArray();
517
+ const index = Math.max(0, Math.min(items.length - 1, manager.activeItemIndex || 0));
518
+ if (items[index] && !items[index].disabled) {
519
+ manager.setActiveItem(index);
520
+ }
521
+ else {
522
+ manager.setNextItemActive();
523
+ }
524
+ }
525
+ });
502
526
  }
503
527
  ngOnDestroy() {
504
528
  this._directDescendantItems.destroy();
@@ -632,11 +656,14 @@ class _MatMenuBase {
632
656
  * @docs-private
633
657
  */
634
658
  setPositionClasses(posX = this.xPosition, posY = this.yPosition) {
659
+ var _a;
635
660
  const classes = this._classList;
636
661
  classes['mat-menu-before'] = posX === 'before';
637
662
  classes['mat-menu-after'] = posX === 'after';
638
663
  classes['mat-menu-above'] = posY === 'above';
639
664
  classes['mat-menu-below'] = posY === 'below';
665
+ // @breaking-change 15.0.0 Remove null check for `_changeDetectorRef`.
666
+ (_a = this._changeDetectorRef) === null || _a === void 0 ? void 0 : _a.markForCheck();
640
667
  }
641
668
  /** Starts the enter animation. */
642
669
  _startAnimation() {
@@ -680,7 +707,7 @@ class _MatMenuBase {
680
707
  });
681
708
  }
682
709
  }
683
- _MatMenuBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatMenuBase, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MAT_MENU_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Directive });
710
+ _MatMenuBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatMenuBase, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MAT_MENU_DEFAULT_OPTIONS }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
684
711
  _MatMenuBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatMenuBase, inputs: { backdropClass: "backdropClass", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], xPosition: "xPosition", yPosition: "yPosition", overlapTrigger: "overlapTrigger", hasBackdrop: "hasBackdrop", panelClass: ["class", "panelClass"], classList: "classList" }, outputs: { closed: "closed", close: "close" }, queries: [{ propertyName: "lazyContent", first: true, predicate: MAT_MENU_CONTENT, descendants: true }, { propertyName: "_allItems", predicate: MatMenuItem, descendants: true }, { propertyName: "items", predicate: MatMenuItem }], viewQueries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
685
712
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatMenuBase, decorators: [{
686
713
  type: Directive
@@ -688,7 +715,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
688
715
  return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
689
716
  type: Inject,
690
717
  args: [MAT_MENU_DEFAULT_OPTIONS]
691
- }] }];
718
+ }] }, { type: i0.ChangeDetectorRef }];
692
719
  }, propDecorators: { _allItems: [{
693
720
  type: ContentChildren,
694
721
  args: [MatMenuItem, { descendants: true }]
@@ -732,13 +759,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
732
759
  }] } });
733
760
  /** @docs-public MatMenu */
734
761
  class MatMenu extends _MatMenuBase {
735
- constructor(elementRef, ngZone, defaultOptions) {
736
- super(elementRef, ngZone, defaultOptions);
762
+ constructor(elementRef, ngZone, defaultOptions, changeDetectorRef) {
763
+ super(elementRef, ngZone, defaultOptions, changeDetectorRef);
737
764
  this._elevationPrefix = 'mat-elevation-z';
738
765
  this._baseElevation = 4;
739
766
  }
740
767
  }
741
- MatMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatMenu, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MAT_MENU_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
768
+ MatMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatMenu, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: MAT_MENU_DEFAULT_OPTIONS }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
742
769
  MatMenu.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatMenu, selector: "mat-menu", host: { properties: { "attr.aria-label": "null", "attr.aria-labelledby": "null", "attr.aria-describedby": "null" } }, providers: [{ provide: MAT_MENU_PANEL, useExisting: MatMenu }], exportAs: ["matMenu"], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <div\n class=\"mat-menu-panel\"\n [id]=\"panelId\"\n [ngClass]=\"_classList\"\n (keydown)=\"_handleKeydown($event)\"\n (click)=\"closed.emit('click')\"\n [@transformMenu]=\"_panelAnimationState\"\n (@transformMenu.start)=\"_onAnimationStart($event)\"\n (@transformMenu.done)=\"_onAnimationDone($event)\"\n tabindex=\"-1\"\n role=\"menu\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"ariaLabelledby || null\"\n [attr.aria-describedby]=\"ariaDescribedby || null\">\n <div class=\"mat-menu-content\">\n <ng-content></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]{pointer-events:none}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [matMenuAnimations.transformMenu, matMenuAnimations.fadeInItems], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
743
770
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatMenu, decorators: [{
744
771
  type: Component,
@@ -751,7 +778,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
751
778
  return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
752
779
  type: Inject,
753
780
  args: [MAT_MENU_DEFAULT_OPTIONS]
754
- }] }];
781
+ }] }, { type: i0.ChangeDetectorRef }];
755
782
  } });
756
783
 
757
784
  /**
@@ -782,13 +809,14 @@ class _MatMenuTriggerBase {
782
809
  constructor(_overlay, _element, _viewContainerRef, scrollStrategy, parentMenu,
783
810
  // `MatMenuTrigger` is commonly used in combination with a `MatMenuItem`.
784
811
  // tslint:disable-next-line: lightweight-tokens
785
- _menuItemInstance, _dir, _focusMonitor) {
812
+ _menuItemInstance, _dir, _focusMonitor, _ngZone) {
786
813
  this._overlay = _overlay;
787
814
  this._element = _element;
788
815
  this._viewContainerRef = _viewContainerRef;
789
816
  this._menuItemInstance = _menuItemInstance;
790
817
  this._dir = _dir;
791
818
  this._focusMonitor = _focusMonitor;
819
+ this._ngZone = _ngZone;
792
820
  this._overlayRef = null;
793
821
  this._menuOpen = false;
794
822
  this._closingActionsSubscription = Subscription.EMPTY;
@@ -1076,7 +1104,15 @@ class _MatMenuTriggerBase {
1076
1104
  position.positionChanges.subscribe(change => {
1077
1105
  const posX = change.connectionPair.overlayX === 'start' ? 'after' : 'before';
1078
1106
  const posY = change.connectionPair.overlayY === 'top' ? 'below' : 'above';
1079
- this.menu.setPositionClasses(posX, posY);
1107
+ // @breaking-change 15.0.0 Remove null check for `ngZone`.
1108
+ // `positionChanges` fires outside of the `ngZone` and `setPositionClasses` might be
1109
+ // updating something in the view so we need to bring it back in.
1110
+ if (this._ngZone) {
1111
+ this._ngZone.run(() => this.menu.setPositionClasses(posX, posY));
1112
+ }
1113
+ else {
1114
+ this.menu.setPositionClasses(posX, posY);
1115
+ }
1080
1116
  });
1081
1117
  }
1082
1118
  }
@@ -1210,7 +1246,7 @@ class _MatMenuTriggerBase {
1210
1246
  return this._portal;
1211
1247
  }
1212
1248
  }
1213
- _MatMenuTriggerBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatMenuTriggerBase, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: MAT_MENU_SCROLL_STRATEGY }, { token: MAT_MENU_PANEL, optional: true }, { token: MatMenuItem, optional: true, self: true }, { token: i3$1.Directionality, optional: true }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
1249
+ _MatMenuTriggerBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatMenuTriggerBase, deps: [{ token: i1$1.Overlay }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: MAT_MENU_SCROLL_STRATEGY }, { token: MAT_MENU_PANEL, optional: true }, { token: MatMenuItem, optional: true, self: true }, { token: i3$1.Directionality, optional: true }, { token: i1.FocusMonitor }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
1214
1250
  _MatMenuTriggerBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: _MatMenuTriggerBase, inputs: { _deprecatedMatMenuTriggerFor: ["mat-menu-trigger-for", "_deprecatedMatMenuTriggerFor"], menu: ["matMenuTriggerFor", "menu"], menuData: ["matMenuTriggerData", "menuData"], restoreFocus: ["matMenuTriggerRestoreFocus", "restoreFocus"] }, outputs: { menuOpened: "menuOpened", onMenuOpen: "onMenuOpen", menuClosed: "menuClosed", onMenuClose: "onMenuClose" }, host: { attributes: { "aria-haspopup": "true" }, listeners: { "click": "_handleClick($event)", "mousedown": "_handleMousedown($event)", "keydown": "_handleKeydown($event)" }, properties: { "attr.aria-expanded": "menuOpen || null", "attr.aria-controls": "menuOpen ? menu.panelId : null" } }, ngImport: i0 });
1215
1251
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: _MatMenuTriggerBase, decorators: [{
1216
1252
  type: Directive,
@@ -1239,7 +1275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1239
1275
  type: Self
1240
1276
  }] }, { type: i3$1.Directionality, decorators: [{
1241
1277
  type: Optional
1242
- }] }, { type: i1.FocusMonitor }];
1278
+ }] }, { type: i1.FocusMonitor }, { type: i0.NgZone }];
1243
1279
  }, propDecorators: { _deprecatedMatMenuTriggerFor: [{
1244
1280
  type: Input,
1245
1281
  args: ['mat-menu-trigger-for']