291 lines
6.2 KiB
SCSS
291 lines
6.2 KiB
SCSS
/* -------------------------------------------------------------------------- */
|
|
/* Avatar */
|
|
/* -------------------------------------------------------------------------- */
|
|
@use 'sass:math';
|
|
|
|
.avatar {
|
|
position: relative;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
|
|
.avatar-placeholder {
|
|
background: $avatars-placeholder-bg;
|
|
}
|
|
.avatar-name {
|
|
position: absolute;
|
|
text-align: center;
|
|
color: var(--#{$prefix}avatar-name-color);
|
|
background-color: var(--#{$prefix}primary-bg-subtle);
|
|
font-weight: bold;
|
|
text-transform: uppercase;
|
|
display: block;
|
|
> span {
|
|
position: absolute;
|
|
top: 53%;
|
|
left: 50%;
|
|
transform: translate3d(-50%, -50%, 0);
|
|
font-weight: $font-weight-black !important;
|
|
}
|
|
}
|
|
.avatar-emoji {
|
|
height: 100%;
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
> span {
|
|
transform: translateY(2%);
|
|
display: inline-block;
|
|
}
|
|
}
|
|
img {
|
|
display: block;
|
|
}
|
|
img,
|
|
.avatar-name {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
img {
|
|
object-fit: cover;
|
|
}
|
|
|
|
&.avatar-bordered {
|
|
@each $suffix, $size in $avatars-dimension {
|
|
@if $suffix == 's' or $suffix == 'm' {
|
|
&.avatar-#{$suffix} {
|
|
img,
|
|
.avatar-name {
|
|
border: 1px solid var(--#{$prefix}border-color-translucent);
|
|
}
|
|
}
|
|
}
|
|
@if $suffix == 'l' {
|
|
&.avatar-#{$suffix} {
|
|
img,
|
|
.avatar-name {
|
|
border: 2px solid $avatars-status-border-color;
|
|
}
|
|
}
|
|
}
|
|
@if $suffix == 'xl' {
|
|
&.avatar-#{$suffix} {
|
|
img,
|
|
.avatar-name {
|
|
border: 3px solid $avatars-status-border-color;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&[class*='status-']:before {
|
|
content: '';
|
|
position: absolute;
|
|
border-radius: 100%;
|
|
z-index: 1;
|
|
}
|
|
&.status-online:before {
|
|
background-color: var(--#{$prefix}success);
|
|
}
|
|
&.status-offline:before {
|
|
background-color: var(--#{$prefix}secondary);
|
|
}
|
|
&.status-away:before {
|
|
background-color: var(--#{$prefix}warning);
|
|
}
|
|
&.status-do-not-disturb:before {
|
|
background-color: var(--#{$prefix}danger);
|
|
}
|
|
.avatar-button {
|
|
background-color: var(--#{$prefix}avatar-button-bg) !important;
|
|
transition: $transition-base;
|
|
border: 1px solid var(--#{$prefix}avatar-button-bg);
|
|
font-size: 12px;
|
|
@include hover-focus {
|
|
background-color: var(--#{$prefix}avatar-button-hover-bg) !important;
|
|
}
|
|
}
|
|
}
|
|
.avatar {
|
|
&:hover .overlay-icon {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@each $suffix, $size in $avatars-dimension {
|
|
.avatar-#{$suffix} {
|
|
height: $size;
|
|
width: $size;
|
|
.avatar-name {
|
|
font-size: #{math.div($size, 1.9)};
|
|
line-height: $line-height-sm;
|
|
}
|
|
.avatar-emoji {
|
|
font-size: #{$size};
|
|
}
|
|
@if $suffix == 's' {
|
|
&[class*='status-']:before {
|
|
border: 1px solid $avatars-status-border-color;
|
|
height: 6px;
|
|
width: 6px;
|
|
right: 1px;
|
|
bottom: 1px;
|
|
}
|
|
}
|
|
@if $suffix == 'm' {
|
|
&[class*='status-']:before {
|
|
border: 1px solid $avatars-status-border-color;
|
|
height: 8px;
|
|
width: 8px;
|
|
right: 1px;
|
|
bottom: 1px;
|
|
}
|
|
}
|
|
@if $suffix == 'l' {
|
|
&[class*='status-']:before {
|
|
border: 1px solid $avatars-status-border-color;
|
|
height: 9px;
|
|
width: 9px;
|
|
right: 2px;
|
|
bottom: 2px;
|
|
}
|
|
}
|
|
@if $suffix == 'xl' {
|
|
&[class*='status-']:before {
|
|
border: 2px solid $avatars-status-border-color;
|
|
height: 12px;
|
|
width: 12px;
|
|
right: 1px;
|
|
bottom: 1px;
|
|
}
|
|
}
|
|
@if $suffix == '2xl' {
|
|
&[class*='status-']:before {
|
|
border: 2px solid $avatars-status-border-color;
|
|
height: 16px;
|
|
width: 16px;
|
|
right: -3px;
|
|
bottom: -3px;
|
|
}
|
|
}
|
|
@if $suffix == '3xl' {
|
|
&[class*='status-']:before {
|
|
border: 3px solid $avatars-status-border-color;
|
|
height: 18px;
|
|
width: 18px;
|
|
right: 0;
|
|
bottom: 0;
|
|
}
|
|
}
|
|
@if $suffix == '4xl' {
|
|
&[class*='status-']:before {
|
|
border: 3px solid $avatars-status-border-color;
|
|
height: 24px;
|
|
width: 24px;
|
|
right: 3px;
|
|
bottom: 3px;
|
|
}
|
|
}
|
|
@if $suffix == '5xl' {
|
|
&[class*='status-']:before {
|
|
border: 4px solid $avatars-status-border-color;
|
|
height: 32px;
|
|
width: 32px;
|
|
right: 8px;
|
|
bottom: 8px;
|
|
}
|
|
}
|
|
.rounded-soft {
|
|
border-radius: math.div($size, 6) !important;
|
|
}
|
|
.rounded-none {
|
|
border-radius: 0 !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.avatar-group {
|
|
display: flex;
|
|
flex-wrap: nowrap;
|
|
// .dropdown-toggle {
|
|
// &:not(:first-child) {
|
|
// .avatar-s,
|
|
// .avatar-m,
|
|
// .avatar-l,
|
|
// .avatar-xl,
|
|
// .avatar-2xl {
|
|
// margin-left: -(map-get($spacers, 2));
|
|
// }
|
|
// }
|
|
// }
|
|
.avatar-s,
|
|
.avatar-m,
|
|
.avatar-l,
|
|
.avatar-xl,
|
|
.avatar-2xl,
|
|
.dropdown-toggle {
|
|
&:not(:first-child) {
|
|
margin-left: -(map-get($spacers, 2));
|
|
}
|
|
}
|
|
.avatar-3x {
|
|
&:not(:first-child) {
|
|
margin-left: -(map-get($spacers, 3));
|
|
}
|
|
}
|
|
.avatar-4x {
|
|
&:not(:first-child) {
|
|
margin-left: -(map-get($spacers, 4));
|
|
}
|
|
}
|
|
.avatar-5x {
|
|
&:not(:first-child) {
|
|
margin-left: -(map-get($spacers, 5));
|
|
}
|
|
}
|
|
|
|
&-dense {
|
|
.avatar-s {
|
|
&:not(:first-child) {
|
|
margin-left: -#{map-get($spacers, 3) * 0.6};
|
|
}
|
|
}
|
|
.avatar-m {
|
|
&:not(:first-child) {
|
|
margin-left: -#{map-get($spacers, 3) * 0.8};
|
|
}
|
|
}
|
|
.avatar-l,
|
|
.avatar-xl,
|
|
.avatar-2xl {
|
|
&:not(:first-child) {
|
|
margin-left: -(map-get($spacers, 3));
|
|
}
|
|
}
|
|
.avatar-3xl {
|
|
&:not(:first-child) {
|
|
margin-left: -(map-get($spacers, 4));
|
|
}
|
|
}
|
|
.avatar-4xl {
|
|
&:not(:first-child) {
|
|
margin-left: -#{map-get($spacers, 5) * 1.1};
|
|
}
|
|
}
|
|
.avatar-5xl {
|
|
&:not(:first-child) {
|
|
margin-left: -#{map-get($spacers, 7) * 1.2};
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.avatar-dropdown-menu {
|
|
.nav {
|
|
.nav-link {
|
|
&:hover {
|
|
background: var(--#{$prefix}body-highlight-bg);
|
|
}
|
|
}
|
|
}
|
|
}
|