334 lines
6.7 KiB
SCSS
334 lines
6.7 KiB
SCSS
$timeline-track-color: #e7e7e7;
|
|
$timeline-track-width: .125rem;
|
|
$timeline-spacing: 3.75rem;
|
|
$timeline-bottom-spacing: 1.25rem;
|
|
$timeline-stacked-spacing: 3.125rem;
|
|
$timeline-branch-top-spacing: 1.5625rem;
|
|
$timeline-branch-spacing: .625rem;
|
|
$timeline-info-width: 6.25rem;
|
|
$timeline-info-spacing: 1.875rem;
|
|
$timeline-info-breakpoint: 576px;
|
|
$timeline-centered-breakpoint: 768px;
|
|
|
|
.ui-play-icon {
|
|
margin-right: -.25em;
|
|
}
|
|
|
|
[dir=rtl] .ui-play-icon {
|
|
margin-right: 0;
|
|
margin-left: -.25em;
|
|
}
|
|
|
|
// Timeline
|
|
//
|
|
|
|
.ui-timeline {
|
|
position: relative;
|
|
padding-left: $timeline-spacing;
|
|
|
|
// Clearfix
|
|
&::after {
|
|
content: "";
|
|
display: block;
|
|
clear: both;
|
|
}
|
|
}
|
|
|
|
.ui-timeline-track-bg {
|
|
background: $timeline-track-color;
|
|
}
|
|
|
|
// Track
|
|
//
|
|
|
|
.ui-timeline::before,
|
|
.ui-timeline-item::after {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: 0;
|
|
z-index: -1;
|
|
background: $timeline-track-color;
|
|
}
|
|
|
|
.ui-timeline::before {
|
|
top: 0;
|
|
left: $timeline-branch-spacing;
|
|
width: $timeline-track-width;
|
|
}
|
|
|
|
.ui-timeline-item::after {
|
|
top: $timeline-branch-top-spacing;
|
|
left: -1 * ($timeline-spacing - $timeline-branch-spacing);
|
|
width: $timeline-spacing - ($timeline-branch-spacing * 2);
|
|
height: $timeline-track-width;
|
|
}
|
|
|
|
// Elements
|
|
//
|
|
|
|
.ui-timeline-item,
|
|
.ui-timeline-separator {
|
|
position: relative;
|
|
margin-bottom: $timeline-bottom-spacing;
|
|
}
|
|
|
|
.ui-timeline-separator {
|
|
clear: both;
|
|
margin-left: -$timeline-spacing;
|
|
}
|
|
|
|
.ui-timeline-badge {
|
|
position: absolute;
|
|
top: $timeline-branch-top-spacing;
|
|
left: -1 * ($timeline-spacing - $timeline-branch-spacing);
|
|
display: block;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
// Info
|
|
//
|
|
|
|
.ui-timeline-info {
|
|
position: absolute;
|
|
top: $timeline-branch-top-spacing;
|
|
left: -1 * ($timeline-spacing + $timeline-info-width - $timeline-branch-spacing);
|
|
padding-right: $timeline-info-spacing;
|
|
width: $timeline-info-width;
|
|
transform: translate(0, -50%);
|
|
display: none;
|
|
|
|
.ui-timeline:not(.ui-timeline-with-info) &,
|
|
.ui-timeline-horizontal:not(.ui-timeline-with-info) & {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
@media (min-width: $timeline-info-breakpoint) {
|
|
.ui-timeline-with-info {
|
|
padding-left: $timeline-spacing + $timeline-info-width - $timeline-branch-spacing;
|
|
|
|
.ui-timeline-info {
|
|
display: block;
|
|
}
|
|
|
|
&::before {
|
|
left: $timeline-info-width;
|
|
}
|
|
|
|
.ui-timeline-separator {
|
|
margin-left: -1 * ($timeline-spacing - $timeline-branch-spacing);
|
|
|
|
> * {
|
|
transform: translateX(-50%);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Centered timeline
|
|
//
|
|
|
|
@media (min-width: $timeline-centered-breakpoint) {
|
|
.ui-timeline-center {
|
|
padding-left: 0;
|
|
|
|
&:before {
|
|
left: 50%;
|
|
margin-left: -$timeline-track-width / 2;
|
|
}
|
|
|
|
.ui-timeline-item {
|
|
float: right;
|
|
clear: both;
|
|
width: calc(50% - #{$timeline-spacing});
|
|
|
|
&::after {
|
|
left: -1 * $timeline-spacing;
|
|
width: $timeline-spacing - $timeline-branch-spacing;
|
|
}
|
|
|
|
.ui-timeline-badge {
|
|
left: -1 * ($timeline-spacing + ($timeline-track-width / 2));
|
|
}
|
|
|
|
.ui-timeline-info {
|
|
left: -1 * ($timeline-spacing + $timeline-info-width);
|
|
}
|
|
}
|
|
|
|
.ui-timeline-item-left {
|
|
float: left;
|
|
padding-left: 0;
|
|
|
|
&::after {
|
|
right: -1 * $timeline-spacing;
|
|
left: auto;
|
|
}
|
|
|
|
.ui-timeline-badge {
|
|
right: -1 * ($timeline-spacing + ($timeline-track-width / 2));
|
|
left: auto;
|
|
transform: translate(50%, -50%);
|
|
}
|
|
|
|
.ui-timeline-info {
|
|
right: -1 * ($timeline-spacing + $timeline-info-width);
|
|
left: auto;
|
|
padding-right: 0;
|
|
padding-left: $timeline-info-spacing;
|
|
}
|
|
}
|
|
|
|
.ui-timeline-separator {
|
|
margin-right: 0;
|
|
margin-left: 0;
|
|
text-align: center;
|
|
|
|
> * {
|
|
transform: none;
|
|
}
|
|
}
|
|
|
|
&.ui-timeline-stacked:not(.ui-timeline-with-info) {
|
|
.ui-timeline-item {
|
|
clear: right;
|
|
}
|
|
|
|
.ui-timeline-item-left {
|
|
clear: left;
|
|
}
|
|
|
|
.ui-timeline-item:not(.ui-timeline-item-left) + .ui-timeline-item-left,
|
|
.ui-timeline-item-left + .ui-timeline-item:not(.ui-timeline-item-left) {
|
|
margin-top: $timeline-stacked-spacing;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// Rtl
|
|
[dir=rtl] {
|
|
.ui-timeline {
|
|
padding-right: $timeline-spacing;
|
|
padding-left: 0;
|
|
}
|
|
|
|
.ui-timeline::before {
|
|
right: $timeline-branch-spacing;
|
|
left: auto;
|
|
}
|
|
|
|
.ui-timeline-item::after {
|
|
right: -1 * ($timeline-spacing - $timeline-branch-spacing);
|
|
left: auto;
|
|
}
|
|
|
|
.ui-timeline-separator {
|
|
margin-right: -$timeline-spacing;
|
|
margin-left: 0;
|
|
}
|
|
|
|
.ui-timeline-badge {
|
|
right: -1 * ($timeline-spacing - $timeline-branch-spacing);
|
|
left: auto;
|
|
transform: translate(50%, -50%);
|
|
}
|
|
|
|
.ui-timeline-info {
|
|
right: -1 * ($timeline-spacing + $timeline-info-width - $timeline-branch-spacing);
|
|
left: auto;
|
|
padding-right: 0;
|
|
padding-left: $timeline-info-spacing;
|
|
}
|
|
|
|
@media (min-width: $timeline-info-breakpoint) {
|
|
.ui-timeline-with-info {
|
|
padding-right: $timeline-spacing+$timeline-info-width - $timeline-branch-spacing;
|
|
|
|
&::before {
|
|
right: $timeline-info-width;
|
|
left: auto;
|
|
}
|
|
|
|
.ui-timeline-separator {
|
|
margin-right: -1 * ($timeline-spacing - $timeline-branch-spacing);
|
|
|
|
> * {
|
|
transform: translateX(50%);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@media (min-width: $timeline-centered-breakpoint) {
|
|
.ui-timeline-center {
|
|
padding-right: 0;
|
|
|
|
&:before {
|
|
right: 50%;
|
|
margin-right: -$timeline-track-width / 2;
|
|
margin-left: 0;
|
|
}
|
|
|
|
.ui-timeline-item {
|
|
float: left;
|
|
|
|
&::after {
|
|
right: -1 * $timeline-spacing;
|
|
}
|
|
|
|
.ui-timeline-badge {
|
|
right: -1 * ($timeline-spacing + ($timeline-track-width / 2));
|
|
left: auto;
|
|
}
|
|
|
|
.ui-timeline-info {
|
|
right: -1 * ($timeline-spacing + $timeline-info-width);
|
|
left: auto;
|
|
}
|
|
}
|
|
|
|
.ui-timeline-item-left {
|
|
float: right;
|
|
padding-right: 0;
|
|
|
|
&::after {
|
|
right: auto;
|
|
left: -1 * $timeline-spacing;
|
|
}
|
|
|
|
.ui-timeline-badge {
|
|
right: auto;
|
|
left: -1 * ($timeline-spacing + ($timeline-track-width / 2));
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
.ui-timeline-info {
|
|
right: auto;
|
|
left: -1 * ($timeline-spacing + $timeline-info-width);
|
|
padding-right: $timeline-info-spacing;
|
|
padding-left: 0;
|
|
}
|
|
}
|
|
|
|
.ui-timeline-separator {
|
|
margin-right: 0;
|
|
|
|
> * {
|
|
transform: none;
|
|
}
|
|
}
|
|
|
|
&.ui-timeline-stacked:not(.ui-timeline-with-info) {
|
|
.ui-timeline-item {
|
|
clear: left;
|
|
}
|
|
|
|
.ui-timeline-item-left {
|
|
clear: right;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|