Skip to content

Commit bdd9ec9

Browse files
committed
fix(radio): Move .mat-radio-input above .mat-focus-indicator. (#18709)
* fix(radio): Move .mat-radio-input above .mat-focus-indicator so that we can apply styles to .mat-focus-indicator with CSS based upon whether or not .mat-radio-input is focused. * Explicitly add comment explaining why ripple must come after input.
1 parent f6fb2fb commit bdd9ec9

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/material/radio/radio.html

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,6 @@
55
<div class="mat-radio-container">
66
<div class="mat-radio-outer-circle"></div>
77
<div class="mat-radio-inner-circle"></div>
8-
<div mat-ripple class="mat-radio-ripple mat-focus-indicator"
9-
[matRippleTrigger]="label"
10-
[matRippleDisabled]="_isRippleDisabled()"
11-
[matRippleCentered]="true"
12-
[matRippleRadius]="20"
13-
[matRippleAnimation]="{enterDuration: 150}">
14-
15-
<div class="mat-ripple-element mat-radio-persistent-ripple"></div>
16-
</div>
17-
188
<input #input class="mat-radio-input cdk-visually-hidden" type="radio"
199
[id]="inputId"
2010
[checked]="checked"
@@ -28,6 +18,18 @@
2818
[attr.aria-describedby]="ariaDescribedby"
2919
(change)="_onInputChange($event)"
3020
(click)="_onInputClick($event)">
21+
22+
<!-- The ripple comes after the input so that we can target it with a CSS
23+
sibling selector when the input is focused. -->
24+
<div mat-ripple class="mat-radio-ripple mat-focus-indicator"
25+
[matRippleTrigger]="label"
26+
[matRippleDisabled]="_isRippleDisabled()"
27+
[matRippleCentered]="true"
28+
[matRippleRadius]="20"
29+
[matRippleAnimation]="{enterDuration: 150}">
30+
31+
<div class="mat-ripple-element mat-radio-persistent-ripple"></div>
32+
</div>
3133
</div>
3234

3335
<!-- The label content for radio control. -->

0 commit comments

Comments
 (0)