Skip to content

Commit 07e3030

Browse files
authored
Merge pull request #198 from Automattic/add/hovercards-css-reset
Hovercards: Implement a component-scoped CSS reset
2 parents 3e09b94 + f29056c commit 07e3030

File tree

1 file changed

+62
-40
lines changed

1 file changed

+62
-40
lines changed

web/packages/hovercards/src/style.scss

Lines changed: 62 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,67 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
1717
}
1818

1919
.gravatar-hovercard {
20-
display: inline-block;
21-
z-index: 10000000;
2220

23-
h4,
24-
p {
21+
/* CSS reset for the hovercard. Add additional reset styles here if needed */
22+
23+
/* General: zero out unwanted defaults */
24+
&,
25+
&::before,
26+
&::after {
27+
box-sizing: border-box;
28+
}
29+
30+
* {
2531
margin: 0;
32+
padding: 0;
33+
border: 0;
34+
box-sizing: inherit;
35+
font: inherit;
36+
line-height: inherit;
37+
color: inherit;
38+
background: transparent;
39+
vertical-align: baseline;
40+
list-style: none; /* covers all lists (ul, ol, li) */
41+
appearance: none; /* strips native styling from every element */
42+
-webkit-appearance: none;
43+
-moz-appearance: none;
44+
}
45+
46+
/* Components */
47+
a {
48+
text-decoration: none;
49+
cursor: pointer;
2650
}
2751

28-
p,
29-
i,
30-
a,
31-
span {
32-
font-family: $font-sf-pro;
33-
font-size: 14px;
34-
line-height: 1.5;
35-
color: $color-black;
52+
button {
53+
background: none;
54+
border: none;
55+
padding: 0;
56+
cursor: pointer;
3657
}
3758

59+
img,
60+
svg {
61+
display: block; /* avoids inline whitespace */
62+
max-width: 100%;
63+
height: auto;
64+
}
65+
66+
/* States */
67+
a:focus-visible,
68+
button:focus-visible {
69+
outline: 2px solid revert;
70+
}
71+
72+
/* End of CSS reset */
73+
74+
display: inline-block;
75+
font-family: $font-sf-pro;
76+
font-size: 14px;
77+
line-height: 1.5;
78+
color: $color-black;
79+
z-index: 10000000;
80+
3881
.gravatar-hovercard__inner {
3982
display: flex;
4083
flex-direction: column;
@@ -47,7 +90,6 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
4790
border: 1px solid $color-light-gray;
4891
border-radius: 4px;
4992
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
50-
box-sizing: border-box;
5193
overflow: hidden;
5294
}
5395

@@ -67,20 +109,15 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
67109
gap: 8px;
68110
}
69111

70-
.gravatar-hovercard__avatar-link,
71-
.gravatar-hovercard__social-link {
72-
display: inline-flex;
112+
.gravatar-hovercard__avatar-link {
113+
width: fit-content;
73114
}
74115

75116
.gravatar-hovercard__avatar {
76117
border-radius: 50%;
77118
background-color: $color-super-light-gray;
78119
}
79120

80-
.gravatar-hovercard__personal-info-link {
81-
text-decoration: none;
82-
}
83-
84121
.gravatar-hovercard__name {
85122

86123
@include ellipsis(2);
@@ -89,7 +126,6 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
89126
font-size: 32px;
90127
font-weight: 700;
91128
line-height: 38px;
92-
color: $color-black;
93129
}
94130

95131
.gravatar-hovercard__job,
@@ -101,7 +137,6 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
101137
}
102138

103139
.gravatar-hovercard__body {
104-
min-height: 42px;
105140
margin-top: 8px;
106141
}
107142

@@ -127,15 +162,13 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
127162
width: 100%;
128163
min-height: 42px;
129164
padding: 8px;
130-
background: unset;
131165
border-radius: 4px;
132166
border: 1px solid rgba($color-blue, 0.3);
133167
font-family: $font-sf-pro;
134168
font-size: 15px;
135169
font-weight: 600;
136170
line-height: 21px;
137171
color: $color-blue;
138-
cursor: pointer;
139172

140173
&:hover {
141174
border: 1px solid rgba($color-blue, 0.6);
@@ -157,12 +190,9 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
157190
/* Ensure consistent word-breaking across browsers. */
158191
word-break: break-all;
159192
color: $color-gray;
160-
161-
text-decoration: none;
162193
}
163194

164195
.gravatar-hovercard__profile-link {
165-
text-decoration: none;
166196
flex-shrink: 0;
167197
color: $color-gray;
168198
}
@@ -232,7 +262,7 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
232262
color: $color-gray;
233263

234264
&.gravatar-hovercard__error-message--claim-gravatar a {
235-
color: inherit;
265+
text-decoration: underline;
236266
}
237267
}
238268
}
@@ -270,7 +300,6 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
270300
border-top-left-radius: 4px;
271301
border-top-right-radius: 4px;
272302
padding: 20px 0;
273-
box-sizing: border-box;
274303
transform: translate3d(0, 100%, 0);
275304
transition: transform 0.3s ease-in-out;
276305
}
@@ -288,31 +317,25 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
288317
font-size: 18px;
289318
font-weight: 700;
290319
line-height: 27px;
291-
margin: 0;
292320
}
293321

294322
.gravatar-hovercard__drawer-close {
295323
display: flex;
296324
align-items: center;
297325
justify-content: center;
298-
border: none;
299-
background: none;
300-
padding: 0;
301-
cursor: pointer;
302326
}
303327

304328
.gravatar-hovercard__drawer-items {
305329
display: flex;
306330
flex-direction: column;
307-
list-style: none;
308-
margin: 0;
309331
padding: 0 20px;
310332
gap: 12px;
311-
overflow: auto;
333+
overflow-y: auto;
312334
}
313335

314336
.gravatar-hovercard__drawer-item {
315337
display: flex;
338+
align-items: start;
316339
gap: 8px;
317340
}
318341

@@ -329,14 +352,13 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
329352

330353
.gravatar-hovercard__drawer-item-link {
331354
color: $color-blue;
332-
text-decoration: none;
333355

334356
&:hover {
335357
text-decoration: underline;
336358
}
337359
}
338360

339-
&--open {
361+
&.gravatar-hovercard__drawer--open {
340362
visibility: visible;
341363

342364
.gravatar-hovercard__drawer-backdrop {
@@ -348,7 +370,7 @@ $font-sf-pro: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Robo
348370
}
349371
}
350372

351-
&--closing {
373+
&.gravatar-hovercard__drawer--closing {
352374
visibility: visible;
353375

354376
.gravatar-hovercard__drawer-backdrop {

0 commit comments

Comments
 (0)