Skip to content

Commit 3e16476

Browse files
authored
fix: set the avatar sizes for different mgt-person types with a single CSS prop (#2457)
set the avatar sizes for different avatar types without introducing a new variable for each type. add a story for setting person avatar size --------- Signed-off-by: Martin Musale <[email protected]>
1 parent 4065d2f commit 3e16476

File tree

2 files changed

+80
-10
lines changed

2 files changed

+80
-10
lines changed

packages/mgt-components/src/components/mgt-person/mgt-person.scss

+71-5
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ $person-background-border-radius: var(--person-border-radius, 4px);
1313

1414
// avatar sizes: 16,20,24,28,32,36,40,48,56,64,72,96,120,128
1515
$person-avatar-size: var(--person-avatar-size, 24px);
16+
$person-avatar-size-40: var(--person-avatar-size, 40px);
17+
$person-avatar-size-56: var(--person-avatar-size, 56px);
18+
$person-avatar-size-72: var(--person-avatar-size, 72px);
1619
$person-avatar-border: var(--person-avatar-border, none);
1720
$person-avatar-border-radius: var(--person-avatar-border-radius, 50%);
1821
$person-details-left-spacing: var(--person-details-left-spacing, 12px);
@@ -63,7 +66,10 @@ $person-line4-text-line-height: var(--person-line4-text-line-height, 16px);
6366
border-radius: $person-background-border-radius;
6467

6568
&.small {
66-
--person-avatar-size: 24px;
69+
.avatar-wrapper {
70+
min-width: $person-avatar-size;
71+
height: $person-avatar-size;
72+
}
6773
}
6874

6975
&.noline,
@@ -76,24 +82,84 @@ $person-line4-text-line-height: var(--person-line4-text-line-height, 16px);
7682
}
7783

7884
&.twolines {
79-
--person-avatar-size: 40px;
85+
.avatar-wrapper {
86+
min-width: $person-avatar-size-40;
87+
height: $person-avatar-size-40;
88+
89+
.initials,
90+
.contact-icon {
91+
font-size: calc(#{$person-avatar-size-40} * 0.4);
92+
}
93+
94+
.presence-wrapper {
95+
svg {
96+
width: calc(#{$person-avatar-size-40} * 0.28);
97+
height: calc(#{$person-avatar-size-40} * 0.28);
98+
}
99+
}
100+
}
80101
}
81102

82103
&.threelines,
83104
&.large {
84-
--person-avatar-size: var(--person-avatar-size-3-lines, 56px);
105+
.avatar-wrapper {
106+
min-width: $person-avatar-size-56;
107+
height: $person-avatar-size-56;
108+
109+
.initials,
110+
.contact-icon {
111+
font-size: calc(#{$person-avatar-size-56} * 0.4);
112+
}
113+
114+
.presence-wrapper {
115+
svg {
116+
width: calc(#{$person-avatar-size-56} * 0.28);
117+
height: calc(#{$person-avatar-size-56} * 0.28);
118+
}
119+
}
120+
}
85121
}
86122

87123
&.fourlines {
88-
--person-avatar-size: 72px;
124+
.avatar-wrapper {
125+
width: $person-avatar-size-72;
126+
height: $person-avatar-size-72;
127+
128+
.initials,
129+
.contact-icon {
130+
font-size: calc(#{$person-avatar-size-72} * 0.4);
131+
}
132+
133+
.presence-wrapper {
134+
svg {
135+
width: calc(#{$person-avatar-size-72} * 0.28);
136+
height: calc(#{$person-avatar-size-72} * 0.28);
137+
}
138+
}
139+
}
89140
}
90141

91142
&.vertical {
92143
flex-direction: column;
93144
justify-content: center;
94145
align-items: center;
95146

96-
--person-avatar-size: 72px;
147+
.avatar-wrapper {
148+
min-width: $person-avatar-size-72;
149+
height: $person-avatar-size-72;
150+
151+
.initials,
152+
.contact-icon {
153+
font-size: calc(#{$person-avatar-size-72} * 0.4);
154+
}
155+
156+
.presence-wrapper {
157+
svg {
158+
width: calc(#{$person-avatar-size-72} * 0.28);
159+
height: calc(#{$person-avatar-size-72} * 0.28);
160+
}
161+
}
162+
}
97163
}
98164

99165
.avatar-wrapper {

stories/components/person/person.style.js

+9-5
Original file line numberDiff line numberDiff line change
@@ -28,31 +28,35 @@ export const customCSSProperties = () => html`
2828
2929
--person-line1-font-size: 20px;
3030
--person-line1-font-weight: 600;
31-
--person-line1-text-color: red;
31+
--person-line1-text-color: #f9b1b1;
3232
--person-line1-text-transform: capitalize;
3333
--person-line1-text-line-height: 22px;
3434
3535
--person-line2-font-size: 18px;
3636
--person-line2-font-weight: 500;
37-
--person-line2-text-color: orange;
37+
--person-line2-text-color: #ffeac4;
3838
--person-line2-text-transform: full-width;
3939
--person-line2-text-line-height: 20px;
4040
4141
--person-line3-font-size: 16px;
4242
--person-line3-font-weight: 400;
43-
--person-line3-text-color: blue;
43+
--person-line3-text-color: #e4e4e6;
4444
--person-line3-text-transform: uppercase;
4545
--person-line3-text-line-height: 18px;
4646
4747
--person-line4-font-size: 14px;
4848
--person-line4-font-weight: 300;
49-
--person-line4-text-color: black;
49+
--person-line4-text-color: #ffd6d6;
5050
--person-line4-text-transform: lowercase;
5151
--person-line4-text-line-height: 16px;
5252
5353
--person-details-spacing: 30px;
5454
--person-details-bottom-spacing: 20px;
5555
}
56+
57+
.vertical {
58+
--person-avatar-size: 80px;
59+
}
5660
</style>
5761
5862
<script>
@@ -75,5 +79,5 @@ export const customCSSProperties = () => html`
7579
7680
<mgt-person class="person" person-query="me" view="fourlines" id="online" show-presence></mgt-person>
7781
<br>
78-
<mgt-person class="person" person-query="me" view="fourlines" avatar-type="initials" id="dnd" show-presence vertical-layout></mgt-person>
82+
<mgt-person class="person vertical" person-query="me" view="fourlines" avatar-type="initials" id="dnd" show-presence vertical-layout></mgt-person>
7983
`;

0 commit comments

Comments
 (0)