vuestic-ui
Version:
Vue 3 UI Framework
107 lines • 3.49 kB
CSS
:root,
:host {
/* General */
--va-badge-py: 0;
--va-badge-font-size: 0.563rem;
--va-badge-border: 0.125rem;
--va-badge-size: calc(var(--va-badge-font-size) * var(--va-badge-line-height) + var(--va-badge-border) * 2);
--va-badge-line-height: 1.4;
--va-badge-margin: 0;
--va-badge-width: fit-content;
/* Dot */
--va-badge-dot-size: 0.5rem;
/* Text wrapper */
--va-badge-text-wrapper-transition: 0.2s cubic-bezier(0.4, 0, 0.6, 1);
--va-badge-text-wrapper-display: inline-flex;
--va-badge-text-wrapper-border: solid 0.125rem;
--va-badge-text-wrapper-border-radius: 0.125rem;
--va-badge-text-wrapper-font-weight: 700;
--va-badge-text-wrapper-line-height: 1.4;
--va-badge-text-wrapper-letter-spacing: 0.0375rem;
--va-badge-text-wrapper-justify-content: center;
--va-badge-text-wrapper-white-space: nowrap;
--va-badge-text-wrapper-width: min-content;
--va-badge-text-wrapper-height: auto;
--va-badge-text-wrapper-min-width: initial;
--va-badge-text-wrapper-min-height: initial;
--va-badge-text-wrapper-margin: 0;
--va-badge-text-transform: uppercase;
/* Text */
--va-badge-text-py: 0;
--va-badge-text-px: 0.25rem;
}
.va-badge {
display: inline-flex;
position: relative;
font-family: var(--va-font-family);
width: var(--va-badge-width);
}
.va-badge__text-wrapper {
transition: var(--va-badge-text-wrapper-transition, var(--va-transition));
display: var(--va-badge-text-wrapper-display);
border: var(--va-badge-text-wrapper-border, var(--va-control-border));
border-radius: var(--va-badge-text-wrapper-border-radius);
font-weight: var(--va-badge-text-wrapper-font-weight);
line-height: var(--va-badge-text-wrapper-line-height);
letter-spacing: var(--va-badge-text-wrapper-letter-spacing, var(--va-letter-spacing));
justify-content: var(--va-badge-text-wrapper-justify-content);
align-items: center;
white-space: var(--va-badge-text-wrapper-white-space);
width: var(--va-badge-text-wrapper-width);
height: var(--va-badge-text-wrapper-height);
min-width: var(--va-badge-text-wrapper-min-width);
min-height: var(--va-badge-text-wrapper-min-height);
margin: var(--va-badge-text-wrapper-margin);
}
.va-badge--visible-empty .va-badge__text-wrapper {
min-width: var(--va-badge-size);
min-height: var(--va-badge-size);
}
.va-badge--dot .va-badge__text-wrapper {
min-width: var(--va-badge-dot-size);
min-height: var(--va-badge-dot-size);
border-width: 0;
border-radius: 100%;
padding: 0;
}
.va-badge--empty .va-badge__text-wrapper {
width: 0;
height: 0;
min-width: 0;
min-height: 0;
border-width: 0;
}
.va-badge--multi-line .va-badge__text-wrapper {
white-space: normal;
}
.va-badge--floating .va-badge__text-wrapper {
position: absolute;
z-index: 2;
}
.va-badge__text {
margin: var(--va-badge-margin);
text-transform: var(--va-badge-text-transform);
overflow: hidden;
min-width: calc(var(--va-badge-font-size) * var(--va-badge-line-height));
padding: var(--va-badge-text-py) var(--va-badge-text-px);
text-align: center;
display: inline-flex;
justify-content: center;
text-overflow: clip;
white-space: nowrap;
font-size: var(--va-badge-font-size);
}
.va-badge--multi-line .va-badge__text {
overflow: auto;
max-height: initial;
text-align: initial;
text-overflow: initial;
white-space: normal;
}
.va-badge--dot .va-badge__text {
display: none;
}
.va-badge--floating .va-badge__text {
align-items: center;
padding: var(--va-badge-py) 0.15rem;
}