Files
overleaf-cep/services/web/frontend/stylesheets/components/badge.scss
T
Davinder Singh c597e3b1f4 adding dark theme variables for badge tag (#31238)
GitOrigin-RevId: 08bd7ed75ecd8a934b8615374d1d976f448310d2
2026-02-18 09:05:29 +00:00

199 lines
3.7 KiB
SCSS

@mixin light-themed-badge-tag {
--badge-tag-themed-content-color: var(--content-primary);
--badge-tag-themed-btn-hover-bg: var(--neutral-40);
--badge-tag-themed-hover-bg: var(--neutral-30);
--badge-tag-themed-btn-bg: var(--neutral-20);
}
@mixin dark-themed-badge-tag {
--badge-tag-themed-content-color: var(--content-primary-dark);
--badge-tag-themed-btn-hover-bg: var(--neutral-60);
--badge-tag-themed-hover-bg: var(--neutral-50);
--badge-tag-themed-btn-bg: var(--neutral-70);
}
:root {
@include light-themed-badge-tag;
@include theme('default') {
.badge.badge-themed {
@include dark-themed-badge-tag;
}
}
}
$max-width: 160px;
.badge {
display: inline-flex;
align-items: stretch;
max-width: 100%;
line-height: var(--line-height-01);
padding: 0 var(--bs-badge-padding-x);
&:not(.badge-tag) {
max-width: $max-width;
}
}
.badge-prepend {
margin-right: var(--spacing-02);
display: flex;
align-items: center;
.material-symbols {
font-size: inherit;
}
}
.badge-close {
@include reset-button;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
padding: 0 var(--spacing-02);
border-top-right-radius: inherit;
border-bottom-right-radius: inherit;
color: inherit;
user-select: none;
.badge-close-icon {
font-size: $font-size-base;
}
}
.badge-close,
.badge-tag-content-btn {
&:hover {
background-color: var(--neutral-40);
}
}
.badge-content {
@include text-truncate;
padding: var(--bs-badge-padding-y) 0;
min-width: 1em;
}
.badge-tag {
@include body-sm;
padding: 0;
color: $dark;
&:hover {
background-color: var(--neutral-30) !important;
}
}
.badge-tag-content {
display: flex;
align-items: center;
overflow: hidden;
max-width: $max-width;
padding-left: var(--bs-badge-padding-x);
padding-right: var(--bs-badge-padding-x);
border-top-left-radius: inherit;
border-bottom-left-radius: inherit;
&:last-child {
border-top-right-radius: inherit;
border-bottom-right-radius: inherit;
}
}
.badge-tag-content-btn {
@include reset-button;
padding-left: var(--bs-badge-padding-x);
padding-right: var(--bs-badge-padding-x);
}
.badge-tag-circle {
display: block;
margin: var(--spacing-02);
width: var(--spacing-04);
height: var(--spacing-04);
border-radius: 50%;
}
.badge-premium {
background-color: var(--neutral-20);
color: var(--neutral-90);
vertical-align: middle;
margin-left: 5px;
font-weight: var(--badge-font-weight);
}
.badge-premium-gradient {
background: var(--premium-gradient);
color: var(--content-primary-dark);
vertical-align: middle;
margin-left: 5px;
font-weight: var(--badge-font-weight);
}
.badge-link {
display: inline-block;
&.badge-link-light:hover .badge {
background-color: var(--neutral-30) !important;
}
&.badge-link-no-max-width {
.badge {
max-width: none;
}
}
.badge {
@include body-sm;
padding: 0 var(--bs-badge-padding-x);
transition: background-color 0.15s ease-in-out;
&:hover {
transition: background-color 0.15s ease-in-out;
}
}
}
.badge-link-list {
display: flex;
gap: var(--spacing-05);
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
align-content: flex-start;
.badge {
max-width: 200px;
}
}
.badge.badge-themed {
.badge-close,
.badge-tag-content-btn {
&:hover {
background-color: var(--badge-tag-themed-btn-hover-bg);
}
}
&.badge-tag {
color: var(--badge-tag-themed-content-color);
background-color: var(--badge-tag-themed-btn-bg) !important;
&:hover {
background-color: var(--badge-tag-themed-hover-bg) !important;
}
}
.badge-content {
color: var(--badge-tag-themed-content-color);
}
}