mirror of
https://github.com/tusen-ai/naive-ui.git
synced 2024-12-21 04:50:14 +08:00
146 lines
3.8 KiB
SCSS
146 lines
3.8 KiB
SCSS
@import './mixins/mixins.scss';
|
|
|
|
$--timeline-header-font-size: (
|
|
'medium': 14px,
|
|
'large': 16px
|
|
);
|
|
|
|
$--timeline-header-margin-top: (
|
|
'medium': 0,
|
|
'large': -1px
|
|
);
|
|
|
|
@mixin timeline-type-mixin ($type) {
|
|
@include m($type + '-type') {
|
|
@include b(timeline-item-timeline) {
|
|
@include e(circle) {
|
|
border-color: map-get($--timeline-item-circle-border-color, $type);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@mixin timeline-size-mixin ($size) {
|
|
@include m($size + '-size') {
|
|
@include b(timeline-item) {
|
|
@include b(timeline-item-content) {
|
|
@include e(title) {
|
|
margin-top: map-get($--timeline-header-margin-top, $size)
|
|
}
|
|
@include e(title) {
|
|
font-size: map-get($--timeline-header-font-size, $size);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@include themes-mixin {
|
|
@include b(timeline) {
|
|
@include once {
|
|
@include timeline-size-mixin ("medium");
|
|
@include timeline-size-mixin ("large");
|
|
position: relative;
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
@include m(right-placement) {
|
|
@include b(timeline-item) {
|
|
@include b(timeline-item-content) {
|
|
text-align: right;
|
|
margin-right: 26px;
|
|
}
|
|
@include b(timeline-item-timeline) {
|
|
width: 14px;
|
|
right: 0;
|
|
}
|
|
}
|
|
}
|
|
@include m(left-placement) {
|
|
@include b(timeline-item) {
|
|
@include b(timeline-item-content) {
|
|
margin-left: 26px;
|
|
}
|
|
@include b(timeline-item-timeline) {
|
|
left: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@include b(timeline-item) {
|
|
@include timeline-type-mixin('default');
|
|
@include timeline-type-mixin('success');
|
|
@include timeline-type-mixin('info');
|
|
@include timeline-type-mixin('warning');
|
|
@include timeline-type-mixin('error');
|
|
@include once {
|
|
position: relative;
|
|
&:last-child {
|
|
@include b(timeline-item-timeline) {
|
|
@include e(line) {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@include b(timeline-item-content) {
|
|
@include e(title) {
|
|
@include once {
|
|
transition: color .3s $--n-ease-in-out-cubic-bezier;
|
|
font-size: 14px;
|
|
font-weight: 500;
|
|
margin-bottom: 6px;
|
|
}
|
|
color: $--timeline-item-title-color;
|
|
}
|
|
@include e(content) {
|
|
@include once {
|
|
transition: color .3s $--n-ease-in-out-cubic-bezier;
|
|
font-size: 14px;
|
|
}
|
|
color: $--timeline-item-content-color;
|
|
}
|
|
@include e(meta) {
|
|
@include once {
|
|
transition: color .3s $--n-ease-in-out-cubic-bezier;
|
|
font-size: 12px;
|
|
margin-top: 6px;
|
|
margin-bottom: 20px;
|
|
}
|
|
color: $--timeline-item-meta-color;
|
|
}
|
|
}
|
|
@include b(timeline-item-timeline) {
|
|
@include once {
|
|
width: 26px;
|
|
position: absolute;
|
|
top: 2px;
|
|
bottom: 0;
|
|
height: 100%;
|
|
}
|
|
@include once {
|
|
@include e(circle) {
|
|
transition: background-color .3s $--n-ease-in-out-cubic-bezier, border-color .3s $--n-ease-in-out-cubic-bezier;
|
|
width: 14px;
|
|
height: 14px;
|
|
border-radius: 7px;
|
|
box-sizing: border-box;
|
|
border-style: solid;
|
|
border-width: 2px;
|
|
}
|
|
}
|
|
@include e(line) {
|
|
@include once {
|
|
transition: background-color .3s $--n-ease-in-out-cubic-bezier;
|
|
position: absolute;
|
|
top: 14px;
|
|
left: 6px;
|
|
bottom: 0px;
|
|
width: 2px;
|
|
}
|
|
background-color: $--timeline-line-background-color;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |