Skip to content

Commit 87e1742

Browse files
crisbetojosephperrott
authored andcommitted
fix(stepper): custom icons not centered inside circle (#12947)
1 parent 3ef933a commit 87e1742

File tree

2 files changed

+41
-37
lines changed

2 files changed

+41
-37
lines changed

src/lib/stepper/step-header.html

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,49 @@
11
<div class="mat-step-header-ripple" mat-ripple [matRippleTrigger]="_getHostElement()"></div>
22
<div class="mat-step-icon-state-{{state}} mat-step-icon" [class.mat-step-icon-selected]="selected"
33
[ngSwitch]="state">
4-
<ng-container *ngSwitchCase="'number'" [ngSwitch]="!!(iconOverrides && iconOverrides.number)">
5-
<ng-container
6-
*ngSwitchCase="true"
7-
[ngTemplateOutlet]="iconOverrides.number"
8-
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
9-
<span class="mat-step-icon-content" *ngSwitchDefault>{{index + 1}}</span>
10-
</ng-container>
114

12-
<ng-container *ngSwitchCase="'edit'" [ngSwitch]="!!(iconOverrides && iconOverrides.edit)">
13-
<ng-container
14-
*ngSwitchCase="true"
15-
[ngTemplateOutlet]="iconOverrides.edit"
16-
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
17-
<mat-icon class="mat-step-icon-content" *ngSwitchDefault>create</mat-icon>
18-
</ng-container>
5+
<div class="mat-step-icon-content">
6+
<ng-container *ngSwitchCase="'number'" [ngSwitch]="!!(iconOverrides && iconOverrides.number)">
7+
<ng-container
8+
*ngSwitchCase="true"
9+
[ngTemplateOutlet]="iconOverrides.number"
10+
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
11+
<span *ngSwitchDefault>{{index + 1}}</span>
12+
</ng-container>
1913

20-
<ng-container *ngSwitchCase="'done'" [ngSwitch]="!!(iconOverrides && iconOverrides.done)">
21-
<ng-container
22-
*ngSwitchCase="true"
23-
[ngTemplateOutlet]="iconOverrides.done"
24-
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
25-
<mat-icon class="mat-step-icon-content" *ngSwitchDefault>done</mat-icon>
26-
</ng-container>
14+
<ng-container *ngSwitchCase="'edit'" [ngSwitch]="!!(iconOverrides && iconOverrides.edit)">
15+
<ng-container
16+
*ngSwitchCase="true"
17+
[ngTemplateOutlet]="iconOverrides.edit"
18+
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
19+
<mat-icon *ngSwitchDefault>create</mat-icon>
20+
</ng-container>
2721

28-
<ng-container *ngSwitchCase="'error'" [ngSwitch]="!!(iconOverrides && iconOverrides.error)">
29-
<ng-container
30-
*ngSwitchCase="true"
31-
[ngTemplateOutlet]="iconOverrides.error"
32-
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
33-
<mat-icon *ngSwitchDefault>warning</mat-icon>
34-
</ng-container>
22+
<ng-container *ngSwitchCase="'done'" [ngSwitch]="!!(iconOverrides && iconOverrides.done)">
23+
<ng-container
24+
*ngSwitchCase="true"
25+
[ngTemplateOutlet]="iconOverrides.done"
26+
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
27+
<mat-icon *ngSwitchDefault>done</mat-icon>
28+
</ng-container>
3529

36-
<!-- Custom state. -->
37-
<ng-container *ngSwitchDefault [ngSwitch]="!!(iconOverrides && iconOverrides[state])">
38-
<ng-container
39-
*ngSwitchCase="true"
40-
[ngTemplateOutlet]="iconOverrides[state]"
41-
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
42-
<mat-icon *ngSwitchDefault>{{state}}</mat-icon>
43-
</ng-container>
30+
<ng-container *ngSwitchCase="'error'" [ngSwitch]="!!(iconOverrides && iconOverrides.error)">
31+
<ng-container
32+
*ngSwitchCase="true"
33+
[ngTemplateOutlet]="iconOverrides.error"
34+
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
35+
<mat-icon *ngSwitchDefault>warning</mat-icon>
36+
</ng-container>
37+
38+
<!-- Custom state. -->
39+
<ng-container *ngSwitchDefault [ngSwitch]="!!(iconOverrides && iconOverrides[state])">
40+
<ng-container
41+
*ngSwitchCase="true"
42+
[ngTemplateOutlet]="iconOverrides[state]"
43+
[ngTemplateOutletContext]="_getIconContext()"></ng-container>
44+
<mat-icon *ngSwitchDefault>{{state}}</mat-icon>
45+
</ng-container>
46+
</div>
4447
</div>
4548
<div class="mat-step-label"
4649
[class.mat-step-label-active]="active"

src/lib/stepper/step-header.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ $mat-step-header-icon-size: 16px !default;
3030
position: relative;
3131
}
3232

33-
.mat-step-icon-content {
33+
.mat-step-icon-content,
34+
.mat-step-icon .mat-icon {
3435
// Use absolute positioning to center the content, because it works better with text.
3536
position: absolute;
3637
top: 50%;

0 commit comments

Comments
 (0)