mirror of
https://github.com/tabler/tabler.git
synced 2025-12-21 17:34:25 +04:00
163 lines
3.4 KiB
SCSS
163 lines
3.4 KiB
SCSS
@keyframes status-pulsate-main {
|
|
40% {
|
|
transform: scale(1.25, 1.25);
|
|
}
|
|
60% {
|
|
transform: scale(1.25, 1.25);
|
|
}
|
|
}
|
|
|
|
@keyframes status-pulsate-secondary {
|
|
10% {
|
|
transform: scale(1, 1)
|
|
}
|
|
30% {
|
|
transform: scale(3, 3)
|
|
}
|
|
80% {
|
|
transform: scale(3, 3)
|
|
}
|
|
100% {
|
|
transform: scale(1, 1)
|
|
}
|
|
}
|
|
|
|
@keyframes status-pulsate-tertiary {
|
|
25% {
|
|
transform: scale(1, 1);
|
|
}
|
|
80% {
|
|
transform: scale(3, 3);
|
|
opacity: 0;
|
|
}
|
|
100% {
|
|
transform: scale(3, 3);
|
|
opacity: 0;
|
|
}
|
|
}
|
|
|
|
//
|
|
// Status
|
|
//
|
|
.status {
|
|
--#{$prefix}status-height: #{$status-height};
|
|
--#{$prefix}status-color: #{$text-secondary};
|
|
--#{$prefix}status-color-rgb: #{to-rgb($text-secondary)};
|
|
|
|
display: inline-flex;
|
|
align-items: center;
|
|
height: var(--#{$prefix}status-height);
|
|
padding: .25rem .75rem;
|
|
gap: .5rem;
|
|
color: var(--#{$prefix}status-color);
|
|
background: rgba(var(--#{$prefix}status-color-rgb), .1);
|
|
font-size: $font-size-base;
|
|
text-transform: none;
|
|
letter-spacing: normal;
|
|
border-radius: $border-radius-pill;
|
|
font-weight: var(--#{$prefix}font-weight-medium);
|
|
line-height: 1;
|
|
margin: 0;
|
|
|
|
.status-dot {
|
|
background: var(--#{$prefix}status-color);
|
|
}
|
|
|
|
.icon {
|
|
font-size: 1.25rem;
|
|
}
|
|
}
|
|
|
|
.status-lite {
|
|
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color) !important;
|
|
background: transparent !important;
|
|
color: var(--#{$prefix}body-color) !important;
|
|
}
|
|
|
|
@each $name, $color in $theme-colors {
|
|
.status-#{$name} {
|
|
--#{$prefix}status-color: #{$color};
|
|
--#{$prefix}status-color-rgb: #{to-rgb($color)};
|
|
}
|
|
}
|
|
|
|
//
|
|
// Status dot
|
|
//
|
|
.status-dot {
|
|
--#{$prefix}status-dot-color: var(--#{$prefix}status-color, #{$text-secondary});
|
|
--#{$prefix}status-size: #{$status-dot-size};
|
|
position: relative;
|
|
display: inline-block;
|
|
width: var(--#{$prefix}status-size);
|
|
height: var(--#{$prefix}status-size);
|
|
background: var(--#{$prefix}status-dot-color);
|
|
border-radius: $border-radius-pill;
|
|
}
|
|
|
|
.status-dot-animated {
|
|
&:before {
|
|
content: "";
|
|
position: absolute;
|
|
inset: 0;
|
|
z-index: 0;
|
|
background: inherit;
|
|
border-radius: inherit;
|
|
opacity: .6;
|
|
animation: 1s linear 2s backwards infinite status-pulsate-tertiary;
|
|
}
|
|
}
|
|
|
|
//
|
|
// Status indicator
|
|
//
|
|
.status-indicator {
|
|
--#{$prefix}status-indicator-size: 2.5rem;
|
|
--#{$prefix}status-indicator-color: var(--#{$prefix}status-color, #{$text-secondary});
|
|
display: block;
|
|
position: relative;
|
|
width: var(--#{$prefix}status-indicator-size);
|
|
height: var(--#{$prefix}status-indicator-size);
|
|
}
|
|
|
|
.status-indicator-circle {
|
|
--#{$prefix}status-circle-size: .75rem;
|
|
position: absolute;
|
|
left: 50%;
|
|
top: 50%;
|
|
margin: calc(var(--#{$prefix}status-circle-size) / -2) 0 0 calc(var(--#{$prefix}status-circle-size) / -2);
|
|
width: var(--#{$prefix}status-circle-size);
|
|
height: var(--#{$prefix}status-circle-size);
|
|
border-radius: $border-radius-pill;
|
|
background: var(--#{$prefix}status-color);
|
|
|
|
&:nth-child(1) {
|
|
z-index: 3;
|
|
}
|
|
|
|
&:nth-child(2) {
|
|
z-index: 2;
|
|
opacity: .1;
|
|
}
|
|
|
|
&:nth-child(3) {
|
|
z-index: 1;
|
|
opacity: .3;
|
|
}
|
|
}
|
|
|
|
.status-indicator-animated {
|
|
.status-indicator-circle {
|
|
&:nth-child(1) {
|
|
animation: 2s linear 1s infinite backwards status-pulsate-main;
|
|
}
|
|
|
|
&:nth-child(2) {
|
|
animation: 2s linear 1s infinite backwards status-pulsate-secondary;
|
|
}
|
|
|
|
&:nth-child(3) {
|
|
animation: 2s linear 1s infinite backwards status-pulsate-tertiary;
|
|
}
|
|
}
|
|
} |