/
githubmirror
/
tabler
Обзор
Документация
Войти
/
githubmirror
/
tabler
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
core/scss/ui/_avatars.scss
172 строки
4 KB
Bartosz-Do
Wire stylelint into the SCSS lint pipeline (#2794)
06 авг 2026, 01:46
Не верифицирован
06 авг 2026, 01:46
9cc9a36
Код
Авторство
О чём код?
@use 'sass:map'; @use '../config' as *; .avatar { --avatar-size: var(--avatar-list-size, #{$avatar-size}); --avatar-status-size: #{$avatar-status-size}; --avatar-bg: #{$avatar-bg}; --avatar-box-shadow-color: var(--border-color-translucent); --avatar-box-shadow: inset 0 0 0 1px var(--avatar-box-shadow-color); --avatar-font-size: #{$avatar-font-size}; --avatar-icon-size: #{$avatar-icon-size}; --avatar-brand-size: #{$avatar-brand-size}; --avatar-border-radius: #{$avatar-border-radius}; position: relative; display: inline-flex; align-items: center; justify-content: center; width: var(--avatar-size); height: var(--avatar-size); font-size: var(--avatar-font-size); font-weight: var(--font-weight-medium); line-height: 1; color: var(--secondary); text-align: center; text-transform: uppercase; vertical-align: bottom; user-select: none; background: var(--avatar-bg) no-repeat center/cover; box-shadow: var(--avatar-box-shadow); transition: color $transition-time, background-color $transition-time, box-shadow $transition-time; @include border-radius(var(--avatar-border-radius)); .icon { width: var(--avatar-icon-size); height: var(--avatar-icon-size); } .badge { position: absolute; inset-inline-end: 0; bottom: 0; @include border-radius(var(--border-radius-pill)); box-shadow: 0 0 0 calc(var(--avatar-status-size) / 4) $card-bg; } @at-root a#{&} { cursor: pointer; &:hover { color: var(--primary); --avatar-box-shadow-color: var(--primary); } } } .avatar-rounded { @include border-radius(var(--border-radius-pill)); } .avatar-square { @include border-radius(var(--border-radius)); } @each $avatar-size, $size in $avatar-sizes { .avatar-#{$avatar-size} { --avatar-size: #{map.get($size, size)}; --avatar-status-size: #{map.get($size, status-size)}; --avatar-font-size: #{map.get($size, font-size)}; --avatar-icon-size: #{map.get($size, icon-size)}; --avatar-brand-size: #{map.get($size, brand-size)}; .badge:empty { width: map.get($size, status-size); height: map.get($size, status-size); } &.avatar-square { @include border-radius(map.get($size, border-radius)); } } } // // Avatar list // .avatar-list { --avatar-list-size: #{$avatar-size}; @include elements-list(); a.avatar { &:hover { z-index: 1; } } } .avatar-list-stacked { display: block; --list-gap: 0; .avatar { box-shadow: var(--avatar-box-shadow), 0 0 0 2px var(--card-bg, var(--bg-surface)); &:not(:first-child) { margin-inline-start: calc(#{$avatar-list-spacing} * var(--avatar-size)) !important; } } } @each $avatar-size, $size in $avatar-sizes { .avatar-list-#{$avatar-size} { --avatar-list-size: #{map.get($size, size)}; } } // // Avatar upload // .avatar-upload { --avatar-upload-icon-size: #{$avatar-upload-icon-size}; --avatar-upload-text-margin-top: #{$avatar-upload-text-margin-top}; flex-direction: column; background: $form-check-input-bg; border: var(--border-width) dashed var(--border-color); box-shadow: none; @include transition(color $transition-time, background-color $transition-time); svg { width: var(--avatar-upload-icon-size); height: var(--avatar-upload-icon-size); stroke-width: 1; } &:hover { color: var(--primary); text-decoration: none; border-color: var(--primary); } } .avatar-upload-text { margin-top: var(--avatar-upload-text-margin-top); font-size: $h6-font-size; line-height: 1; } .avatar-cover { --avatar-cover-ring-width: #{$avatar-cover-ring-width}; margin-top: calc(-0.5 * var(--avatar-size)); box-shadow: 0 0 0 var(--avatar-cover-ring-width) var(--card-bg, var(--body-bg)); } .avatar-brand { --avatar-brand-offset: #{$avatar-brand-offset}; position: absolute; inset-inline-end: var(--avatar-brand-offset); bottom: var(--avatar-brand-offset); z-index: 1000; width: var(--avatar-brand-size); height: var(--avatar-brand-size); background: var(--bg-surface); border: 1px solid var(--border-color); @include border-radius(var(--border-radius)); }