Avatar
🚧 WORK IN PROGRESS: Used to show a thumbnail representation of an individual or business in the interface. 🚧
| Class name | Type | |
|---|---|---|
.prs-avatar |
Component | Container |
.prs-avatar-xs |
Modifier | Extra-Small variant |
.prs-avatar-sm |
Modifier | Small variant |
.prs-avatar-md |
Modifier | Medium variant |
.prs-avatar-lg |
Modifier | Large variant |
.prs-avatar-xl |
Modifier | Extra-Large variant |
.prs-avatar-2xl |
Modifier | 2x Extra-Large variant |
.prs-avatar-offline |
Modifier | Offline gray dot variant |
.prs-avatar-online |
Modifier | Online green dot variant |
.prs-avatar-placeholder |
Part | For text |
-
<!-- image --> <div class="prs-avatar"><img src="https://placehold.net/4.png" alt="Avatar component" /></div> <!-- person svg --> <div class="prs-avatar"><svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" role="img"><use href="/_assets/prs-icons.svg#collab-person" /></svg></div> <!-- text/initials --> <div class="prs-avatar"><span class="prs-avatar-placeholder">WW</span></div> -
<div class="prs-avatar prs-avatar-2xl"><span class="prs-avatar-placeholder">WW</span></div> <div class="prs-avatar prs-avatar-xl"><span class="prs-avatar-placeholder">WW</span></div> <div class="prs-avatar prs-avatar-lg"><span class="prs-avatar-placeholder">WW</span></div> <div class="prs-avatar"><span class="prs-avatar-placeholder">WW</span></div> <div class="prs-avatar prs-avatar-md"><span class="prs-avatar-placeholder">WW</span></div> <div class="prs-avatar prs-avatar-sm"><span class="prs-avatar-placeholder">WW</span></div> <div class="prs-avatar prs-avatar-xs"><span class="prs-avatar-placeholder">WW</span></div> -
Status
For displaying offline/online status.
<!-- offline --> <div class="prs-avatar prs-avatar-lg prs-avatar-offline"><img src="https://placehold.net/5.png" alt="Avatar component" /></div> <!-- online --> <div class="prs-avatar prs-avatar-lg prs-avatar-online"><img src="https://placehold.net/4.png" alt="Avatar component" /></div>
CSS
Full Library
Component Only
.prs-avatar {
width: 3.125rem;
aspect-ratio: 1 / 1;
vertical-align: middle;
display: inline-flex;
position: relative;
& :where(img,svg,.prs-avatar-placeholder) {
width: 100%;
height: 100%;
background-color: var(--prs-c-gray-300);
color: var(--prs-c-gray-900);
font-weight: 700;
letter-spacing: -1px;
border-radius: calc(infinity * 1px);
&:where(svg) {
padding: 0.25rem;
color: var(--prs-c-gray);
}
&:where(.prs-avatar-placeholder) {
font-size: 1.25rem;
overflow: hidden;
}
}
}
.prs-avatar-2xl {
width: 5rem;
& :where(.prs-avatar-placeholder) {
font-size: 2rem;
}
}
.prs-avatar-xl {
width: 4.375rem;
& :where(.prs-avatar-placeholder) {
font-size: 1.75rem;
}
}
.prs-avatar-lg {
width: 3.75rem;
& :where(.prs-avatar-placeholder) {
font-size: 1.5rem;
}
}
.prs-avatar-md {
width: 2.5rem;
& :where(.prs-avatar-placeholder) {
font-size: 1rem;
}
}
.prs-avatar-sm {
width: 1.875rem;
& :where(.prs-avatar-placeholder) {
font-size: 0.725rem;
}
}
.prs-avatar-xs {
width: 1.25rem;
& :where(.prs-avatar-placeholder) {
font-size: 0.5625rem;
}
}
.prs-avatar-placeholder {
display: flex;
align-items: center;
justify-content: center;
}
.prs-avatar-online,.prs-avatar-offline {
&:before {
width: 15%;
height: 15%;
background-color: var(--prs-c-success-600);
display: block;
outline: 2px solid var(--prs-c-white);
position: absolute;
top: 7%;
right: 7%;
z-index: 1;
content: "";
border-radius: calc(infinity * 1px);
}
}
.prs-avatar-offline {
&:before {
background-color: var(--prs-c-gray-200);
}
}
Coming soon...