MINI Sh3ll
/* ------------------------------------------------------------------------------
*
* # Progress (loading) bars
*
* Static demo of Pace themes. For demonstration purposes only. DO NOT use it in production
*
* ---------------------------------------------------------------------------- */
// Check if component is enabled
@if $enable-demo {
// Dark squares for pace themes
// ------------------------------
.pace-demo {
display: inline-block;
background-color: $color-slate-800;
vertical-align: middle;
position: relative;
line-height: 1;
@include border-radius($border-radius);
@include size(88px);
.pace_progress {
display: none;
white-space: nowrap;
}
}
// Xbox Mini theme
// ------------------------------
.theme_xbox {
position: absolute;
top: 50%;
left: 0;
right: 0;
margin-top: -24px;
// Activity
.pace_activity {
animation: rotation 1.5s ease-in-out infinite;
margin: auto;
@include size(48px);
&,
&:before,
&:after {
border: 2px solid transparent;
border-top-color: $white;
border-radius: $border-radius-circle;
}
&:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
animation: rotation ease-in-out 2s infinite;
}
&:after {
content: "";
position: absolute;
top: 12px;
left: 12px;
right: 12px;
bottom: 12px;
animation: rotation ease-in-out 1s infinite;
}
}
}
// Add % text
.theme_xbox_with_text {
.pace_activity {
margin-top: -10px;
}
span {
display: block;
margin-top: 10px;
color: $white;
white-space: nowrap;
}
}
// Xbox Small theme
// ------------------------------
.theme_xbox_sm {
@extend .theme_xbox;
.pace_activity {
&,
&:before,
&:after {
border-width: 1px;
}
}
}
// Xbox theme
// ------------------------------
.theme_xbox_lg {
@extend .theme_xbox;
.pace_activity {
&,
&:before,
&:after {
border-width: 3px;
}
}
}
// Perspective theme
// ------------------------------
.theme_perspective {
position: absolute;
top: 50%;
left: 0;
right: 0;
margin-top: -15px;
.pace_activity {
display: inline-block;
background-color: $white;
animation: perspective ease-in-out 1.2s infinite;
@include size(30px);
}
}
@keyframes perspective {
0% { transform: perspective(120px); }
50% { transform: perspective(120px) rotateY(180deg); }
100% { transform: perspective(120px) rotateY(180deg) rotateX(180deg); }
}
@-webkit-keyframes perspective {
0% { -webkit-transform: perspective(120px); }
50% { -webkit-transform: perspective(120px) rotateY(180deg); }
100% { -webkit-transform: perspective(120px) rotateY(180deg) rotateX(180deg); }
}
@-moz-keyframes perspective {
0% { -moz-transform: perspective(120px); }
50% { -moz-transform: perspective(120px) rotateY(180deg); }
100% { -moz-transform: perspective(120px) rotateY(180deg) rotateX(180deg); }
}
.theme_perspective_with_text {
.pace_activity {
margin-top: -12px;
}
span {
display: block;
margin-top: 15px;
color: $white;
white-space: nowrap;
}
}
// Squares theme
// ------------------------------
.theme_squares {
position: absolute;
top: 50%;
left: 0;
right: 0;
margin-top: -15px;
// Activity
.pace_activity {
width: 30px;
height: 30px;
margin: auto;
&:before,
&:after {
position: absolute;
content: "";
border: 2px solid $white;
}
&:before {
width: 30px;
height: 30px;
margin-left: -15px;
animation: rotation_reverse linear 2s infinite;
}
&:after {
width: 20px;
height: 20px;
margin-left: -10px;
margin-top: 5px;
animation: rotation linear 2s infinite;
}
}
}
// Text
.theme_squares_with_text {
.pace_activity {
margin-top: -12px;
}
span {
display: block;
margin-top: 15px;
color: $white;
white-space: nowrap;
}
}
// Tail theme
// ------------------------------
.theme_tail {
position: absolute;
top: 50%;
left: 0;
right: 0;
margin-top: -15px;
// Activity
.pace_activity {
margin: auto;
width: 30px;
height: 30px;
border: 3px solid transparent;
border-left-color: $white;
border-radius: 50%;
animation: rotation linear 1.1s infinite;
}
}
// Circle tail theme
.theme_tail_circle {
.pace_activity {
border-color: rgba($black, 0.15);
border-left-color: $white;
}
}
// Text
.theme_tail_with_text {
.pace_activity {
margin-top: -12px;
}
span {
display: block;
margin-top: 15px;
color: $white;
white-space: nowrap;
}
}
// Corners theme
// ------------------------------
.theme_corners {
position: absolute;
top: 50%;
left: 0;
right: 0;
margin-top: -(14px / 2);
// Activity
.pace_activity {
display: inline-block;
background-color: $white;
vertical-align: middle;
border-radius: 50%;
animation: corners ease 1.5s infinite;
@include size(14px);
}
}
// Animation
@keyframes corners {
0% { transform: scale(1) rotate(0deg); }
50% { border-radius: 0; transform: scale(2) rotate(-180deg); }
100% { transform: scale(1) rotate(-360deg); }
}
@-webkit-keyframes corners {
0% { -webkit-transform: scale(1) rotate(0deg); }
50% { border-radius: 0; -webkit-transform: scale(2) rotate(-180deg); }
100% { -webkit-transform: scale(1) rotate(-360deg); }
}
@-moz-keyframes corners {
0% { -moz-transform: scale(1) rotate(0deg); }
50% { border-radius: 0; -moz-transform: scale(2) rotate(-180deg); }
100% { -moz-transform: scale(1) rotate(-360deg); }
}
// Text
.theme_corners_with_text {
.pace_activity {
margin-top: -28px;
}
span {
display: block;
margin-top: 15px;
color: $white;
white-space: nowrap;
}
}
// Radar theme
// ------------------------------
.theme_radar {
position: absolute;
top: 50%;
left: 0;
right: 0;
margin-top: -15px;
// Activity
.pace_activity {
display: inline-block;
width: 30px;
height: 30px;
border-radius: 50%;
border: 2px solid transparent;
border-top-color: $white;
border-bottom-color: $white;
animation: rotation linear 1.1s infinite;
}
}
// Text
.theme_radar_with_text {
.pace_activity {
margin-top: -12px;
}
span {
display: block;
margin-top: 15px;
color: $white;
white-space: nowrap;
}
}
// Bar theme
// ------------------------------
// Default
.theme_bar {
position: relative;
width: 200px;
height: 5px;
background-color: rgba($black, 0.4);
border-radius: 100px;
box-shadow: 0 0 5px rgba($white, 0.1);
.pace_progress {
max-width: 198px;
display: block;
position: absolute;
left: 1px;
top: 1px;
height: 3px;
background: #3FCF96;
color: $white;
line-height: 36px;
border-radius: 100px;
}
}
// Large
.theme_bar_lg {
@extend .theme_bar;
height: 6px;
.pace_progress {
height: 4px;
}
}
// Small
.theme_bar_sm {
@extend .theme_bar;
height: 4px;
.pace_progress {
height: 2px;
}
}
}
OHA YOOOO