@angular/material 14.0.0-next.1 → 14.0.0-next.4

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 (153) hide show
  1. package/button-toggle/_button-toggle-theme.scss +4 -2
  2. package/chips/chip-input.d.ts +2 -5
  3. package/chips/chip-list.d.ts +18 -5
  4. package/core/common-behaviors/error-state.d.ts +1 -2
  5. package/core/datetime/index.d.ts +1 -2
  6. package/core/ripple/index.d.ts +1 -2
  7. package/core/ripple/ripple-ref.d.ts +2 -1
  8. package/core/ripple/ripple-renderer.d.ts +9 -2
  9. package/datepicker/calendar-body.d.ts +12 -3
  10. package/datepicker/date-range-input-parts.d.ts +4 -1
  11. package/datepicker/datepicker-base.d.ts +2 -0
  12. package/datepicker/month-view.d.ts +18 -0
  13. package/datepicker/multi-year-view.d.ts +18 -0
  14. package/datepicker/year-view.d.ts +18 -0
  15. package/dialog/dialog-content-directives.d.ts +5 -1
  16. package/esm2020/autocomplete/autocomplete-trigger.mjs +8 -3
  17. package/esm2020/button-toggle/button-toggle.mjs +2 -2
  18. package/esm2020/checkbox/checkbox.mjs +4 -2
  19. package/esm2020/chips/chip-input.mjs +1 -1
  20. package/esm2020/chips/chip-list.mjs +23 -6
  21. package/esm2020/core/common-behaviors/error-state.mjs +1 -8
  22. package/esm2020/core/datetime/index.mjs +3 -5
  23. package/esm2020/core/ripple/index.mjs +4 -5
  24. package/esm2020/core/ripple/ripple-ref.mjs +5 -2
  25. package/esm2020/core/ripple/ripple-renderer.mjs +72 -37
  26. package/esm2020/core/version.mjs +1 -1
  27. package/esm2020/datepicker/calendar-body.mjs +25 -3
  28. package/esm2020/datepicker/calendar.mjs +2 -2
  29. package/esm2020/datepicker/date-range-input-parts.mjs +1 -1
  30. package/esm2020/datepicker/datepicker-base.mjs +4 -12
  31. package/esm2020/datepicker/month-view.mjs +34 -7
  32. package/esm2020/datepicker/multi-year-view.mjs +40 -8
  33. package/esm2020/datepicker/year-view.mjs +39 -8
  34. package/esm2020/dialog/dialog-container.mjs +3 -3
  35. package/esm2020/dialog/dialog-content-directives.mjs +16 -4
  36. package/esm2020/form-field/form-field.mjs +14 -9
  37. package/esm2020/input/input.mjs +13 -3
  38. package/esm2020/menu/menu-trigger.mjs +15 -6
  39. package/esm2020/menu/menu.mjs +14 -9
  40. package/esm2020/progress-spinner/progress-spinner.mjs +4 -1
  41. package/esm2020/radio/radio.mjs +3 -3
  42. package/esm2020/select/select.mjs +16 -4
  43. package/esm2020/sidenav/drawer.mjs +3 -3
  44. package/esm2020/sidenav/sidenav-module.mjs +4 -5
  45. package/esm2020/sidenav/sidenav.mjs +3 -3
  46. package/esm2020/sort/sort-header.mjs +14 -6
  47. package/esm2020/sort/sort.mjs +1 -1
  48. package/esm2020/stepper/stepper-module.mjs +3 -7
  49. package/esm2020/stepper/stepper.mjs +8 -58
  50. package/esm2020/tabs/paginated-tab-header.mjs +13 -7
  51. package/esm2020/tabs/tab-group.mjs +25 -1
  52. package/esm2020/tabs/tab-header.mjs +3 -3
  53. package/fesm2015/autocomplete.mjs +7 -2
  54. package/fesm2015/autocomplete.mjs.map +1 -1
  55. package/fesm2015/button-toggle.mjs +2 -2
  56. package/fesm2015/checkbox.mjs +3 -1
  57. package/fesm2015/checkbox.mjs.map +1 -1
  58. package/fesm2015/chips.mjs +22 -5
  59. package/fesm2015/chips.mjs.map +1 -1
  60. package/fesm2015/core.mjs +83 -52
  61. package/fesm2015/core.mjs.map +1 -1
  62. package/fesm2015/datepicker.mjs +139 -35
  63. package/fesm2015/datepicker.mjs.map +1 -1
  64. package/fesm2015/dialog.mjs +17 -5
  65. package/fesm2015/dialog.mjs.map +1 -1
  66. package/fesm2015/form-field.mjs +14 -8
  67. package/fesm2015/form-field.mjs.map +1 -1
  68. package/fesm2015/input.mjs +12 -2
  69. package/fesm2015/input.mjs.map +1 -1
  70. package/fesm2015/menu.mjs +26 -11
  71. package/fesm2015/menu.mjs.map +1 -1
  72. package/fesm2015/progress-spinner.mjs +3 -0
  73. package/fesm2015/progress-spinner.mjs.map +1 -1
  74. package/fesm2015/radio.mjs +2 -2
  75. package/fesm2015/radio.mjs.map +1 -1
  76. package/fesm2015/select.mjs +15 -3
  77. package/fesm2015/select.mjs.map +1 -1
  78. package/fesm2015/sidenav.mjs +8 -9
  79. package/fesm2015/sidenav.mjs.map +1 -1
  80. package/fesm2015/sort.mjs +119 -111
  81. package/fesm2015/sort.mjs.map +1 -1
  82. package/fesm2015/stepper.mjs +9 -62
  83. package/fesm2015/stepper.mjs.map +1 -1
  84. package/fesm2015/tabs.mjs +38 -8
  85. package/fesm2015/tabs.mjs.map +1 -1
  86. package/fesm2020/autocomplete.mjs +7 -2
  87. package/fesm2020/autocomplete.mjs.map +1 -1
  88. package/fesm2020/button-toggle.mjs +2 -2
  89. package/fesm2020/checkbox.mjs +3 -1
  90. package/fesm2020/checkbox.mjs.map +1 -1
  91. package/fesm2020/chips.mjs +22 -5
  92. package/fesm2020/chips.mjs.map +1 -1
  93. package/fesm2020/core.mjs +83 -52
  94. package/fesm2020/core.mjs.map +1 -1
  95. package/fesm2020/datepicker.mjs +139 -35
  96. package/fesm2020/datepicker.mjs.map +1 -1
  97. package/fesm2020/dialog.mjs +17 -5
  98. package/fesm2020/dialog.mjs.map +1 -1
  99. package/fesm2020/form-field.mjs +13 -8
  100. package/fesm2020/form-field.mjs.map +1 -1
  101. package/fesm2020/input.mjs +12 -2
  102. package/fesm2020/input.mjs.map +1 -1
  103. package/fesm2020/menu.mjs +25 -11
  104. package/fesm2020/menu.mjs.map +1 -1
  105. package/fesm2020/progress-spinner.mjs +3 -0
  106. package/fesm2020/progress-spinner.mjs.map +1 -1
  107. package/fesm2020/radio.mjs +2 -2
  108. package/fesm2020/radio.mjs.map +1 -1
  109. package/fesm2020/select.mjs +15 -3
  110. package/fesm2020/select.mjs.map +1 -1
  111. package/fesm2020/sidenav.mjs +8 -9
  112. package/fesm2020/sidenav.mjs.map +1 -1
  113. package/fesm2020/sort.mjs +12 -4
  114. package/fesm2020/sort.mjs.map +1 -1
  115. package/fesm2020/stepper.mjs +9 -62
  116. package/fesm2020/stepper.mjs.map +1 -1
  117. package/fesm2020/tabs.mjs +38 -8
  118. package/fesm2020/tabs.mjs.map +1 -1
  119. package/form-field/form-field.d.ts +9 -5
  120. package/input/input.d.ts +11 -1
  121. package/menu/menu-trigger.d.ts +7 -1
  122. package/menu/menu.d.ts +7 -2
  123. package/package.json +7 -7
  124. package/prebuilt-themes/deeppurple-amber.css +1 -1
  125. package/prebuilt-themes/indigo-pink.css +1 -1
  126. package/prebuilt-themes/pink-bluegrey.css +1 -1
  127. package/prebuilt-themes/purple-green.css +1 -1
  128. package/progress-spinner/progress-spinner.d.ts +3 -1
  129. package/schematics/ng-add/index.js +2 -2
  130. package/schematics/ng-add/index.mjs +2 -2
  131. package/schematics/ng-add/schema.json +17 -5
  132. package/schematics/ng-generate/address-form/schema.json +1 -1
  133. package/schematics/ng-generate/dashboard/schema.json +1 -1
  134. package/schematics/ng-generate/navigation/schema.json +1 -1
  135. package/schematics/ng-generate/table/schema.json +1 -1
  136. package/schematics/ng-generate/tree/schema.json +1 -1
  137. package/schematics/ng-update/data/constructor-checks.js +5 -1
  138. package/schematics/ng-update/data/constructor-checks.mjs +5 -1
  139. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +4 -4
  140. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +4 -4
  141. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +13 -13
  142. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +13 -13
  143. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +2 -13
  144. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +2 -13
  145. package/schematics/tsconfig.json +1 -4
  146. package/select/select.d.ts +11 -0
  147. package/sidenav/sidenav-module.d.ts +2 -3
  148. package/sort/sort-header.d.ts +4 -4
  149. package/sort/sort.d.ts +4 -0
  150. package/stepper/stepper-module.d.ts +1 -1
  151. package/stepper/stepper.d.ts +2 -35
  152. package/tabs/paginated-tab-header.d.ts +4 -2
  153. package/tabs/tab-group.d.ts +6 -2
package/fesm2020/core.mjs CHANGED
@@ -7,9 +7,9 @@ import { VERSION as VERSION$1 } from '@angular/cdk';
7
7
  import * as i3 from '@angular/common';
8
8
  import { DOCUMENT, CommonModule } from '@angular/common';
9
9
  import * as i1$1 from '@angular/cdk/platform';
10
- import { _isTestEnvironment, PlatformModule, normalizePassiveListenerOptions } from '@angular/cdk/platform';
10
+ import { _isTestEnvironment, normalizePassiveListenerOptions } from '@angular/cdk/platform';
11
11
  import { coerceBooleanProperty, coerceNumberProperty, coerceElement } from '@angular/cdk/coercion';
12
- import { Subject, Observable } from 'rxjs';
12
+ import { Observable, Subject } from 'rxjs';
13
13
  import { startWith } from 'rxjs/operators';
14
14
  import { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';
15
15
  import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
@@ -22,7 +22,7 @@ import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes';
22
22
  * found in the LICENSE file at https://angular.io/license
23
23
  */
24
24
  /** Current version of Angular Material. */
25
- const VERSION = new Version('14.0.0-next.1');
25
+ const VERSION = new Version('14.0.0-next.4');
26
26
 
27
27
  /**
28
28
  * @license
@@ -274,12 +274,6 @@ function mixinErrorState(base) {
274
274
  return class extends base {
275
275
  constructor(...args) {
276
276
  super(...args);
277
- // This class member exists as an interop with `MatFormFieldControl` which expects
278
- // a public `stateChanges` observable to emit whenever the form field should be updated.
279
- // The description is not specifically mentioning the error state, as classes using this
280
- // mixin can/should emit an event in other cases too.
281
- /** Emits whenever the component state changes. */
282
- this.stateChanges = new Subject();
283
277
  /** Whether the component is in an error state. */
284
278
  this.errorState = false;
285
279
  }
@@ -721,12 +715,11 @@ const MAT_NATIVE_DATE_FORMATS = {
721
715
  class NativeDateModule {
722
716
  }
723
717
  NativeDateModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
724
- NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, imports: [PlatformModule] });
725
- NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }], imports: [[PlatformModule]] });
718
+ NativeDateModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule });
719
+ NativeDateModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }] });
726
720
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: NativeDateModule, decorators: [{
727
721
  type: NgModule,
728
722
  args: [{
729
- imports: [PlatformModule],
730
723
  providers: [{ provide: DateAdapter, useClass: NativeDateAdapter }],
731
724
  }]
732
725
  }] });
@@ -849,10 +842,13 @@ class RippleRef {
849
842
  /** Reference to the ripple HTML element. */
850
843
  element,
851
844
  /** Ripple configuration used for the ripple. */
852
- config) {
845
+ config,
846
+ /* Whether animations are forcibly disabled for ripples through CSS. */
847
+ _animationForciblyDisabledThroughCss = false) {
853
848
  this._renderer = _renderer;
854
849
  this.element = element;
855
850
  this.config = config;
851
+ this._animationForciblyDisabledThroughCss = _animationForciblyDisabledThroughCss;
856
852
  /** Current state of the ripple. */
857
853
  this.state = 3 /* HIDDEN */;
858
854
  }
@@ -921,7 +917,7 @@ class RippleRenderer {
921
917
  const radius = config.radius || distanceToFurthestCorner(x, y, containerRect);
922
918
  const offsetX = x - containerRect.left;
923
919
  const offsetY = y - containerRect.top;
924
- const duration = animationConfig.enterDuration;
920
+ const enterDuration = animationConfig.enterDuration;
925
921
  const ripple = document.createElement('div');
926
922
  ripple.classList.add('mat-ripple-element');
927
923
  ripple.style.left = `${offsetX - radius}px`;
@@ -933,35 +929,49 @@ class RippleRenderer {
933
929
  if (config.color != null) {
934
930
  ripple.style.backgroundColor = config.color;
935
931
  }
936
- ripple.style.transitionDuration = `${duration}ms`;
932
+ ripple.style.transitionDuration = `${enterDuration}ms`;
937
933
  this._containerElement.appendChild(ripple);
938
934
  // By default the browser does not recalculate the styles of dynamically created
939
- // ripple elements. This is critical because then the `scale` would not animate properly.
940
- enforceStyleRecalculation(ripple);
941
- // We use a 3d transform here in order to avoid an issue in Safari where
935
+ // ripple elements. This is critical to ensure that the `scale` animates properly.
936
+ // We enforce a style recalculation by calling `getComputedStyle` and *accessing* a property.
937
+ // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
938
+ const computedStyles = window.getComputedStyle(ripple);
939
+ const userTransitionProperty = computedStyles.transitionProperty;
940
+ const userTransitionDuration = computedStyles.transitionDuration;
941
+ // Note: We detect whether animation is forcibly disabled through CSS by the use of
942
+ // `transition: none`. This is technically unexpected since animations are controlled
943
+ // through the animation config, but this exists for backwards compatibility. This logic does
944
+ // not need to be super accurate since it covers some edge cases which can be easily avoided by users.
945
+ const animationForciblyDisabledThroughCss = userTransitionProperty === 'none' ||
946
+ // Note: The canonical unit for serialized CSS `<time>` properties is seconds. Additionally
947
+ // some browsers expand the duration for every property (in our case `opacity` and `transform`).
948
+ userTransitionDuration === '0s' ||
949
+ userTransitionDuration === '0s, 0s';
950
+ // Exposed reference to the ripple that will be returned.
951
+ const rippleRef = new RippleRef(this, ripple, config, animationForciblyDisabledThroughCss);
952
+ // Start the enter animation by setting the transform/scale to 100%. The animation will
953
+ // execute as part of this statement because we forced a style recalculation before.
954
+ // Note: We use a 3d transform here in order to avoid an issue in Safari where
942
955
  // the ripples aren't clipped when inside the shadow DOM (see #24028).
943
956
  ripple.style.transform = 'scale3d(1, 1, 1)';
944
- // Exposed reference to the ripple that will be returned.
945
- const rippleRef = new RippleRef(this, ripple, config);
946
957
  rippleRef.state = 0 /* FADING_IN */;
947
958
  // Add the ripple reference to the list of all active ripples.
948
959
  this._activeRipples.add(rippleRef);
949
960
  if (!config.persistent) {
950
961
  this._mostRecentTransientRipple = rippleRef;
951
962
  }
952
- // Wait for the ripple element to be completely faded in.
953
- // Once it's faded in, the ripple can be hidden immediately if the mouse is released.
954
- this._runTimeoutOutsideZone(() => {
955
- const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
956
- rippleRef.state = 1 /* VISIBLE */;
957
- // When the timer runs out while the user has kept their pointer down, we want to
958
- // keep only the persistent ripples and the latest transient ripple. We do this,
959
- // because we don't want stacked transient ripples to appear after their enter
960
- // animation has finished.
961
- if (!config.persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
962
- rippleRef.fadeOut();
963
- }
964
- }, duration);
963
+ // Do not register the `transition` event listener if fade-in and fade-out duration
964
+ // are set to zero. The events won't fire anyway and we can save resources here.
965
+ if (!animationForciblyDisabledThroughCss && (enterDuration || animationConfig.exitDuration)) {
966
+ this._ngZone.runOutsideAngular(() => {
967
+ ripple.addEventListener('transitionend', () => this._finishRippleTransition(rippleRef));
968
+ });
969
+ }
970
+ // In case there is no fade-in transition duration, we need to manually call the transition
971
+ // end listener because `transitionend` doesn't fire if there is no transition.
972
+ if (animationForciblyDisabledThroughCss || !enterDuration) {
973
+ this._finishRippleTransition(rippleRef);
974
+ }
965
975
  return rippleRef;
966
976
  }
967
977
  /** Fades out a ripple reference. */
@@ -980,14 +990,16 @@ class RippleRenderer {
980
990
  }
981
991
  const rippleEl = rippleRef.element;
982
992
  const animationConfig = { ...defaultRippleAnimationConfig, ...rippleRef.config.animation };
993
+ // This starts the fade-out transition and will fire the transition end listener that
994
+ // removes the ripple element from the DOM.
983
995
  rippleEl.style.transitionDuration = `${animationConfig.exitDuration}ms`;
984
996
  rippleEl.style.opacity = '0';
985
997
  rippleRef.state = 2 /* FADING_OUT */;
986
- // Once the ripple faded out, the ripple can be safely removed from the DOM.
987
- this._runTimeoutOutsideZone(() => {
988
- rippleRef.state = 3 /* HIDDEN */;
989
- rippleEl.remove();
990
- }, animationConfig.exitDuration);
998
+ // In case there is no fade-out transition duration, we need to manually call the
999
+ // transition end listener because `transitionend` doesn't fire if there is no transition.
1000
+ if (rippleRef._animationForciblyDisabledThroughCss || !animationConfig.exitDuration) {
1001
+ this._finishRippleTransition(rippleRef);
1002
+ }
991
1003
  }
992
1004
  /** Fades out all currently active ripples. */
993
1005
  fadeOutAll() {
@@ -1034,6 +1046,36 @@ class RippleRenderer {
1034
1046
  this._pointerUpEventsRegistered = true;
1035
1047
  }
1036
1048
  }
1049
+ /** Method that will be called if the fade-in or fade-in transition completed. */
1050
+ _finishRippleTransition(rippleRef) {
1051
+ if (rippleRef.state === 0 /* FADING_IN */) {
1052
+ this._startFadeOutTransition(rippleRef);
1053
+ }
1054
+ else if (rippleRef.state === 2 /* FADING_OUT */) {
1055
+ this._destroyRipple(rippleRef);
1056
+ }
1057
+ }
1058
+ /**
1059
+ * Starts the fade-out transition of the given ripple if it's not persistent and the pointer
1060
+ * is not held down anymore.
1061
+ */
1062
+ _startFadeOutTransition(rippleRef) {
1063
+ const isMostRecentTransientRipple = rippleRef === this._mostRecentTransientRipple;
1064
+ const { persistent } = rippleRef.config;
1065
+ rippleRef.state = 1 /* VISIBLE */;
1066
+ // When the timer runs out while the user has kept their pointer down, we want to
1067
+ // keep only the persistent ripples and the latest transient ripple. We do this,
1068
+ // because we don't want stacked transient ripples to appear after their enter
1069
+ // animation has finished.
1070
+ if (!persistent && (!isMostRecentTransientRipple || !this._isPointerDown)) {
1071
+ rippleRef.fadeOut();
1072
+ }
1073
+ }
1074
+ /** Destroys the given ripple by removing it from the DOM and updating its state. */
1075
+ _destroyRipple(rippleRef) {
1076
+ rippleRef.state = 3 /* HIDDEN */;
1077
+ rippleRef.element.remove();
1078
+ }
1037
1079
  /** Function being called whenever the trigger is being pressed using mouse. */
1038
1080
  _onMousedown(event) {
1039
1081
  // Screen readers will fire fake mouse events for space/enter. Skip launching a
@@ -1079,10 +1121,6 @@ class RippleRenderer {
1079
1121
  }
1080
1122
  });
1081
1123
  }
1082
- /** Runs a timeout outside of the Angular zone to avoid triggering the change detection. */
1083
- _runTimeoutOutsideZone(fn, delay = 0) {
1084
- this._ngZone.runOutsideAngular(() => setTimeout(fn, delay));
1085
- }
1086
1124
  /** Registers event listeners for a given list of events. */
1087
1125
  _registerEvents(eventTypes) {
1088
1126
  this._ngZone.runOutsideAngular(() => {
@@ -1105,13 +1143,6 @@ class RippleRenderer {
1105
1143
  }
1106
1144
  }
1107
1145
  }
1108
- /** Enforces a style recalculation of a DOM element by computing its styles. */
1109
- function enforceStyleRecalculation(element) {
1110
- // Enforce a style recalculation by calling `getComputedStyle` and accessing any property.
1111
- // Calling `getPropertyValue` is important to let optimizers know that this is not a noop.
1112
- // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a
1113
- window.getComputedStyle(element).getPropertyValue('opacity');
1114
- }
1115
1146
  /**
1116
1147
  * Returns the distance from the point (x, y) to the furthest corner of a rectangle.
1117
1148
  */
@@ -1281,12 +1312,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImpor
1281
1312
  class MatRippleModule {
1282
1313
  }
1283
1314
  MatRippleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1284
- MatRippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, declarations: [MatRipple], imports: [MatCommonModule, PlatformModule], exports: [MatRipple, MatCommonModule] });
1285
- MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule, PlatformModule], MatCommonModule] });
1315
+ MatRippleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, declarations: [MatRipple], imports: [MatCommonModule], exports: [MatRipple, MatCommonModule] });
1316
+ MatRippleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, imports: [[MatCommonModule], MatCommonModule] });
1286
1317
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRippleModule, decorators: [{
1287
1318
  type: NgModule,
1288
1319
  args: [{
1289
- imports: [MatCommonModule, PlatformModule],
1320
+ imports: [MatCommonModule],
1290
1321
  exports: [MatRipple, MatCommonModule],
1291
1322
  declarations: [MatRipple],
1292
1323
  }]