/* -------------------------------------------------------------------------- */ /* 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); } } } }