@@ -97,6 +97,7 @@ export class MatRadioGroup extends _MatRadioGroupBase<MatRadioButton> {
97
97
'[class.mat-primary]' : 'color === "primary"' ,
98
98
'[class.mat-accent]' : 'color === "accent"' ,
99
99
'[class.mat-warn]' : 'color === "warn"' ,
100
+ '[class._mat-animation-noopable]' : '_noopAnimations' ,
100
101
// Needs to be removed since it causes some a11y issues (see #21266).
101
102
'[attr.tabindex]' : 'null' ,
102
103
'[attr.aria-label]' : 'null' ,
@@ -126,10 +127,11 @@ export class MatRadioButton extends _MatRadioButtonBase implements AfterViewInit
126
127
} ;
127
128
128
129
/** Configuration for the underlying ripple. */
129
- _rippleAnimation : RippleAnimationConfig = RIPPLE_ANIMATION_CONFIG ;
130
+ _rippleAnimation : RippleAnimationConfig ;
130
131
131
132
_radioFoundation = new MDCRadioFoundation ( this . _radioAdapter ) ;
132
133
_classes : { [ key : string ] : boolean } = { } ;
134
+ _noopAnimations : boolean ;
133
135
134
136
constructor ( @Optional ( ) @Inject ( MAT_RADIO_GROUP ) radioGroup : MatRadioGroup ,
135
137
elementRef : ElementRef ,
@@ -142,6 +144,9 @@ export class MatRadioButton extends _MatRadioButtonBase implements AfterViewInit
142
144
@Attribute ( 'tabindex' ) tabIndex ?: string ) {
143
145
super ( radioGroup , elementRef , _changeDetector , _focusMonitor ,
144
146
_radioDispatcher , _animationMode , _providerOverride , tabIndex ) ;
147
+ this . _noopAnimations = _animationMode === 'NoopAnimations' ;
148
+ this . _rippleAnimation =
149
+ this . _noopAnimations ? { enterDuration : 0 , exitDuration : 0 } : RIPPLE_ANIMATION_CONFIG ;
145
150
}
146
151
147
152
ngAfterViewInit ( ) {
0 commit comments