| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- /* Avatar
- ******************************************************************************* */
-
- /* Avatar Styles */
- .avatar {
- --#{$prefix}avatar-size: #{$avatar-size};
- --#{$prefix}avatar-group-border: #{$avatar-group-border};
- --#{$prefix}avatar-initial-inline: 3px;
- --#{$prefix}avatar-initial-bg: #{$avatar-initial-bg};
- position: relative;
- block-size: var(--#{$prefix}avatar-size);
- cursor: pointer;
- inline-size: var(--#{$prefix}avatar-size);
-
- .avatar-initial {
- position: absolute;
- display: flex;
- align-items: center;
- justify-content: center;
- background-color: var(--#{$prefix}avatar-initial-bg);
- color: var(--#{$prefix}white);
- font-size: var(--#{$prefix}avatar-initial);
- font-weight: $font-weight-medium;
- inset: 0;
- text-transform: uppercase;
- }
-
- &.avatar-online,
- &.avatar-offline,
- &.avatar-away,
- &.avatar-busy {
- &::after {
- position: absolute;
- @include border-radius(100%);
- block-size: calc(var(--#{$prefix}avatar-size) * .2);
- box-shadow: 0 0 0 2px var(--#{$prefix}white);
- content: "";
- inline-size: calc(var(--#{$prefix}avatar-size) * .2);
- inset-block-end: 0;
- inset-inline-end: var(--#{$prefix}avatar-initial-inline);
- }
- }
- img {
- block-size: 100%;
- inline-size: 100%;
- }
-
- &.avatar-online::after {
- background-color: var(--#{$prefix}success);
- }
-
- &.avatar-offline::after {
- background-color: var(--#{$prefix}secondary);
- }
-
- &.avatar-away::after {
- background-color: var(--#{$prefix}warning);
- }
-
- &.avatar-busy::after {
- background-color: var(--#{$prefix}danger);
- }
- [class*="avatar-shadow-"] {
- background-color: var(--#{$prefix}avatar-icon-bg);
- box-shadow: 0 0 0 .25rem rgba(var(--#{$prefix}avatar-icon-shadow-color), .06);
- color: var(--#{$prefix}avatar-icon-color);
- }
- }
-
- /* Pull up avatar style */
- .pull-up {
- transition: all .25s ease;
-
- &:hover {
- z-index: 30;
- @include border-radius(50%);
- box-shadow: var(--#{$prefix}box-shadow);
- transform: translateY(-4px) scale(1.02);
- }
- }
-
-
- @each $size, $values in $avatar-sizes {
- .avatar-#{$size} {
- --#{$prefix}avatar-size: #{nth($values, 1)};
- --#{$prefix}avatar-initial: #{nth($values, 2)};
- --#{$prefix}avatar-initial-inline: #{nth($values, 3)};
- }
- }
-
- /* Avatar Group SCSS */
- .avatar-group {
- .avatar {
- margin-inline-start: -.8rem;
- transition: all .25s ease;
-
- &:first-child {
- margin-inline-start: 0;
- }
-
- img,
- .avatar-initial {
- border: 2px solid var(--#{$prefix}avatar-group-border);
- color: var(--#{$prefix}heading-color);
- }
-
- &:hover {
- z-index: 30;
- transition: all .25s ease;
- }
- }
-
- // Avatar Group Sizings
- .avatar-xs {
- margin-inline-start: -.65rem;
- }
-
- .avatar-sm {
- margin-inline-start: -.75rem;
- }
-
- .avatar-md {
- margin-inline-start: -.9rem;
- }
-
- .avatar-lg {
- margin-inline-start: -1.5rem;
- }
-
- .avatar-xl {
- margin-inline-start: -1.75rem;
- }
- }
-
- @each $state in map-keys($theme-colors) {
- .avatar .avatar-shadow-#{$state} {
- --#{$prefix}avatar-icon-color: var(--#{$prefix}#{$state});
- --#{$prefix}avatar-icon-shadow-color: var(--#{$prefix}#{$state}-rgb);
- --#{$prefix}avatar-icon-bg: var(--#{$prefix}#{$state}-bg-subtle);
- }
- }
-
- /* Avatar dark css */
- @if $enable-dark-mode {
- @include color-mode(dark) {
- /* Avatar Status indication */
- .avatar {
- --#{$prefix}avatar-initial-bg: #373b50;
- &.avatar-online,
- &.avatar-offline,
- &.avatar-away,
- &.avatar-busy {
- &::after {
- box-shadow: 0 0 0 2px var(--#{$prefix}body-bg);
- }
- }
- }
- }
- }
|