// Copyright 2021 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only .module-Avatar { align-items: center; border-radius: 100%; display: inline-flex; justify-content: center; line-height: 0; overflow: hidden; position: relative; user-select: none; vertical-align: middle; &__button { @include button-reset; align-items: center; display: flex; height: 100%; justify-content: center; width: 100%; @include keyboard-mode { &:focus { box-shadow: 0px 0px 0px 2px $color-ultramarine; } } } &__image { background-position: center center; background-size: cover; display: flex; height: 100%; transition: filter 100ms ease-out; width: 100%; } &__click-to-view { @include font-body-2; align-items: center; background: $color-black-alpha-20; color: $color-white; display: flex; flex-direction: column; height: 100%; justify-content: center; left: 0; position: absolute; top: 0; width: 100%; &::before { @include color-svg( '../images/icons/v2/click-outline-24.svg', $color-white ); content: ''; display: block; height: 24px; margin-bottom: 8px; width: 24px; } &:hover { background: $color-black-alpha-40; } } &__label { align-items: center; display: flex; font-weight: bold; justify-content: center; text-align: center; text-transform: uppercase; transition: font-size 100ms ease-out; @include light-theme { color: $color-white; } @include dark-theme { color: $color-gray-05; } } &__icon { @mixin avatar-icon($icon) { @include light-theme { @include color-svg($icon, $color-white); } @include dark-theme { @include color-svg($icon, $color-gray-05); } } &--direct { @include avatar-icon('../images/icons/v2/profile-outline-20.svg'); height: 60%; width: 60%; } &--group { @include avatar-icon('../images/icons/v2/group-outline-20.svg'); height: 60%; width: 60%; } &--note-to-self { @include avatar-icon('../images/note-28.svg'); height: 70%; width: 70%; } } &__spinner-container { padding: 4px; } &--no-image { background-color: $avatar-color-steel; } &--signal-blue { background-color: $avatar-color-ultramarine; @include dark-theme { background-color: $avatar-color-ultramarine; } } @each $color, $value in $avatar-colors { &--#{$color} { background-color: $value; @include dark-theme { background-color: $value; } } } }