@gravity-ui/uikit
Version:
Gravity UI base styling and components
191 lines • 5.97 kB
CSS
.g-user-label {
--_--size: 28px;
--_--border-radius: 25px;
--_--padding: var(--g-spacing-3);
--_--gap: calc(var(--g-spacing-base) * 1.5);
--_--text-font-weight: var(--g-text-body-font-weight);
--_--text-font-size: var(--g-text-body-short-font-size);
--_--text-line-height: var(--g-text-body-short-line-height);
--_--description-font-weight: var(--g-text-body-font-weight);
--_--description-font-size: var(--g-text-body-short-font-size);
--_--description-line-height: var(--g-text-body-short-line-height);
position: relative;
z-index: 0;
display: inline-flex;
max-width: 100%;
height: var(--g-user-label-size, var(--_--size));
border-radius: var(--g-user-label-border-radius, var(--_--border-radius));
transition-property: background-color;
transition-duration: 0.1s;
transition-timing-function: ease-in-out;
}
.g-user-label_view_outlined::after {
content: "";
position: absolute;
z-index: -1;
inset: 0;
border: 1px solid var(--g-color-line-generic-solid);
border-radius: inherit;
transition-property: border-color;
transition-duration: 0.1s;
transition-timing-function: ease-in-out;
}
.g-user-label_size_3xs {
--_--size: 16px;
}
.g-user-label_size_2xs {
--_--size: 20px;
}
.g-user-label_size_xs {
--_--size: 24px;
}
.g-user-label_size_s {
--_--size: 28px;
}
.g-user-label_size_m {
--_--size: 32px;
}
.g-user-label_size_l {
--_--size: 42px;
}
.g-user-label_size_xl {
--_--size: 50px;
}
.g-user-label_size_3xs, .g-user-label_size_2xs {
--_--padding: calc(var(--g-spacing-base) * 1.5);
--_--gap: var(--g-spacing-1);
}
.g-user-label_size_xs {
--_--padding: calc(var(--g-spacing-base) * 2.5);
--_--gap: calc(var(--g-spacing-base) * 1.5);
}
.g-user-label_size_s {
--_--padding: var(--g-spacing-3);
--_--gap: calc(var(--g-spacing-base) * 1.5);
}
.g-user-label_size_m {
--_--padding: var(--g-spacing-3);
--_--gap: var(--g-spacing-2);
}
.g-user-label_size_l {
--_--padding: var(--g-spacing-4);
--_--gap: var(--g-spacing-3);
}
.g-user-label_size_xl {
--_--padding: var(--g-spacing-5);
--_--gap: var(--g-spacing-4);
}
.g-user-label_size_3xs, .g-user-label_size_2xs, .g-user-label_size_xs {
--_--text-font-weight: var(--g-text-caption-font-weight);
--_--text-font-size: var(--g-text-caption-2-font-size);
--_--text-line-height: var(--g-text-caption-2-line-height);
}
.g-user-label_size_s, .g-user-label_size_m, .g-user-label_size_l {
--_--text-font-weight: var(--g-text-body-font-weight);
--_--text-font-size: var(--g-text-body-short-font-size);
--_--text-line-height: var(--g-text-body-short-line-height);
}
.g-user-label_size_xl {
--_--text-font-weight: var(--g-text-body-font-weight);
--_--text-font-size: var(--g-text-body-2-font-size);
--_--text-line-height: var(--g-text-body-2-line-height);
}
.g-user-label_clickable:hover {
background-color: var(--g-color-base-simple-hover);
}
.g-user-label_clickable:hover::after {
border-color: transparent;
}
.g-user-label__avatar {
--g-avatar-size: var(--g-user-label-size, var(--_--size));
--g-avatar-border-width: 1px;
--g-avatar-inner-border-width: 0;
--g-avatar-background-color: var(--g-color-base-neutral-light);
--g-avatar-text-color: var(--g-color-text-primary);
display: flex;
margin-inline-end: var(--g-user-label-gap, var(--_--gap));
}
.g-user-label__main {
padding: 0;
font-family: var(--g-text-body-font-family);
font-size: inherit;
font-weight: var(--g-text-body-font-weight);
color: inherit;
background: none;
border: none;
outline: none;
cursor: pointer;
display: flex;
align-items: center;
min-width: 0;
border-radius: var(--g-user-label-border-radius, var(--_--border-radius));
padding-inline-end: var(--g-user-label-padding, var(--_--padding));
cursor: unset;
}
.g-user-label_empty .g-user-label__main {
padding-inline-start: var(--g-user-label-padding, var(--_--padding));
}
.g-user-label_clickable .g-user-label__main {
outline-offset: -1px;
cursor: pointer;
}
.g-user-label_clickable .g-user-label__main:focus-visible {
outline: 2px solid var(--g-color-line-focus);
}
.g-user-label_closeable .g-user-label__main {
padding-inline-end: var(--g-user-label-gap, var(--_--gap));
}
.g-user-label__info {
display: flex;
flex-direction: column;
min-width: 0;
}
.g-user-label__text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: var(--g-color-text-primary);
font-weight: var(--g-user-label-text-font-weight, var(--_--text-font-weight));
font-size: var(--g-user-label-text-font-size, var(--_--text-font-size));
line-height: var(--g-user-label-text-line-height, var(--_--text-line-height));
}
.g-user-label__description {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
color: var(--g-color-text-secondary);
font-weight: var(--g-user-label-description-font-weight, var(--_--description-font-weight));
font-size: var(--g-user-label-description-font-size, var(--_--description-font-size));
line-height: var(--g-user-label-description-line-height, var(--_--description-line-height));
}
.g-user-label__close {
padding: 0;
font-family: var(--g-text-body-font-family);
font-size: inherit;
font-weight: var(--g-text-body-font-weight);
color: inherit;
background: none;
border: none;
outline: none;
cursor: pointer;
box-sizing: initial;
display: flex;
justify-content: center;
align-items: center;
border-radius: var(--g-user-label-border-radius, var(--_--border-radius));
padding-inline-end: var(--g-user-label-padding, var(--_--padding));
color: var(--g-color-text-secondary);
cursor: pointer;
transition-property: color;
transition-duration: 0.1s;
transition-timing-function: ease-in-out;
}
.g-user-label__close:hover {
color: var(--g-color-text-primary);
}
.g-user-label__close-icon {
border-radius: var(--g-focus-border-radius);
}
.g-user-label__close:focus-visible .g-user-label__close-icon {
outline: 2px solid var(--g-color-line-focus);
}