2020-07-26 06:11:27 -07:00
|
|
|
//
|
|
|
|
// avatar.scss
|
|
|
|
// Dashkit component
|
|
|
|
//
|
|
|
|
|
2021-11-28 12:49:22 -08:00
|
|
|
@use 'sass:math';
|
|
|
|
|
2020-07-26 06:11:27 -07:00
|
|
|
// General
|
|
|
|
|
|
|
|
.avatar {
|
|
|
|
position: relative;
|
|
|
|
display: inline-block;
|
|
|
|
width: $avatar-size-base;
|
|
|
|
height: $avatar-size-base;
|
2021-11-28 12:49:22 -08:00
|
|
|
font-size: math.div($avatar-size-base, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
|
|
|
|
// Loads mask images so they don't lag on hover
|
|
|
|
|
|
|
|
&:after {
|
|
|
|
content: '';
|
|
|
|
position: absolute;
|
|
|
|
width: 0;
|
|
|
|
height: 0;
|
|
|
|
background-image: url(#{$path-to-img}/masks/avatar-status.svg),
|
|
|
|
url(#{$path-to-img}/masks/avatar-group.svg),
|
|
|
|
url(#{$path-to-img}/masks/avatar-group-hover.svg),
|
|
|
|
url(#{$path-to-img}/masks/avatar-group-hover-last.svg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-img {
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
2021-11-28 12:49:22 -08:00
|
|
|
object-fit: cover;
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-title {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
width: 100%;
|
|
|
|
height: 100%;
|
|
|
|
line-height: 0;
|
|
|
|
background-color: $avatar-title-bg;
|
|
|
|
color: $avatar-title-color;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Status
|
|
|
|
|
|
|
|
.avatar-online,
|
|
|
|
.avatar-offline {
|
|
|
|
|
|
|
|
&::before {
|
|
|
|
content: '';
|
|
|
|
position: absolute;
|
|
|
|
bottom: 5%;
|
|
|
|
right: 5%;
|
|
|
|
width: 20%;
|
|
|
|
height: 20%;
|
|
|
|
border-radius: 50%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-img {
|
|
|
|
mask-image: url(#{$path-to-img}/masks/avatar-status.svg);
|
|
|
|
mask-size: 100% 100%;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-online::before {
|
|
|
|
background-color: $success;
|
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-offline::before {
|
|
|
|
background-color: $gray-500;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Sizing
|
|
|
|
|
|
|
|
.avatar-xs {
|
|
|
|
width: $avatar-size-xs;
|
|
|
|
height: $avatar-size-xs;
|
2021-11-28 12:49:22 -08:00
|
|
|
font-size: math.div($avatar-size-xs, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-sm {
|
|
|
|
width: $avatar-size-sm;
|
|
|
|
height: $avatar-size-sm;
|
2021-11-28 12:49:22 -08:00
|
|
|
font-size: math.div($avatar-size-sm, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-lg {
|
|
|
|
width: $avatar-size-lg;
|
|
|
|
height: $avatar-size-lg;
|
2021-11-28 12:49:22 -08:00
|
|
|
font-size: math.div($avatar-size-lg, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-xl {
|
|
|
|
width: $avatar-size-xl;
|
|
|
|
height: $avatar-size-xl;
|
2021-11-28 12:49:22 -08:00
|
|
|
font-size: math.div($avatar-size-xl, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-xxl {
|
|
|
|
width: $avatar-size-xl;
|
|
|
|
height: $avatar-size-xl;
|
2021-11-28 12:49:22 -08:00
|
|
|
font-size: math.div($avatar-size-xl, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
|
|
|
|
@include media-breakpoint-up(md) {
|
|
|
|
width: $avatar-size-xxl;
|
|
|
|
height: $avatar-size-xxl;
|
2021-11-28 12:49:22 -08:00
|
|
|
font-size: math.div($avatar-size-xxl, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Ratio
|
|
|
|
|
|
|
|
.avatar.avatar-4by3 {
|
2021-11-28 12:49:22 -08:00
|
|
|
width: math.div($avatar-size-base * 4, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-xs.avatar-4by3 {
|
2021-11-28 12:49:22 -08:00
|
|
|
width: math.div($avatar-size-xs * 4, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-sm.avatar-4by3 {
|
2021-11-28 12:49:22 -08:00
|
|
|
width: math.div($avatar-size-sm * 4, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-lg.avatar-4by3 {
|
2021-11-28 12:49:22 -08:00
|
|
|
width: math.div($avatar-size-lg * 4, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-xl.avatar-4by3 {
|
2021-11-28 12:49:22 -08:00
|
|
|
width: math.div($avatar-size-xl * 4, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-xxl.avatar-4by3 {
|
2021-11-28 12:49:22 -08:00
|
|
|
width: math.div($avatar-size-xxl * 4, 3);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Group
|
|
|
|
|
|
|
|
.avatar-group {
|
|
|
|
display: inline-flex;
|
|
|
|
|
|
|
|
// Shift every next avatar left
|
|
|
|
|
|
|
|
.avatar + .avatar {
|
2021-11-28 12:49:22 -08:00
|
|
|
margin-left: math.div(-$avatar-size-base, 4);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-xs + .avatar-xs {
|
2021-11-28 12:49:22 -08:00
|
|
|
margin-left: math.div(-$avatar-size-xs, 4);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-sm + .avatar-sm {
|
2021-11-28 12:49:22 -08:00
|
|
|
margin-left: math.div(-$avatar-size-sm, 4);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-lg + .avatar-lg {
|
2021-11-28 12:49:22 -08:00
|
|
|
margin-left: math.div(-$avatar-size-lg, 4);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-xl + .avatar-xl {
|
2021-11-28 12:49:22 -08:00
|
|
|
margin-left: math.div(-$avatar-size-xl, 4);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
.avatar-xxl + .avatar-xxl {
|
2021-11-28 12:49:22 -08:00
|
|
|
margin-left: math.div(-$avatar-size-xxl, 4);
|
2020-07-26 06:11:27 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// Add some spacing between avatars
|
|
|
|
|
|
|
|
.avatar:not(:last-child) {
|
|
|
|
mask-image: url(#{$path-to-img}/masks/avatar-group.svg);
|
|
|
|
mask-size: 100% 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Bring an avatar to front on hover
|
|
|
|
|
|
|
|
.avatar:hover {
|
|
|
|
mask-image: none;
|
|
|
|
z-index: 1;
|
|
|
|
|
|
|
|
+ .avatar {
|
|
|
|
mask-image: url(#{$path-to-img}/masks/avatar-group-hover.svg);
|
|
|
|
mask-size: 100% 100%;
|
|
|
|
|
|
|
|
&:last-child {
|
|
|
|
mask-image: url(#{$path-to-img}/masks/avatar-group-hover-last.svg);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|