UNPKG

vuetify

Version:

Vue.js 2 Semantic Component Framework

186 lines (144 loc) 3.71 kB
@import '../bootstrap' @import '../theme' v-timeline($material) &:before background: $material.dividers .v-timeline-item &__dot background: $material.cards .v-card &:before border-right-color: $shadow-key-ambient-opacity theme(v-timeline, "v-timeline") timeline-dots($dot-size, $inner-dot-size, $inner-dot-margin) height: $dot-size left: 'calc(50% - %s)' % ($dot-size / 2) width: $dot-size .v-timeline-item__inner-dot height: $inner-dot-size margin:$inner-dot-margin width: $inner-dot-size .v-timeline-item display: flex flex-direction: row-reverse padding-bottom: 24px &:nth-child(odd):not(.v-timeline-item--right), &--left flex-direction: row .v-card:before, .v-card:after transform: rotate(180deg) left: 100% .v-timeline-item__opposite margin-left: 96px text-align: left .v-card:before, .v-card:after transform: rotate(0) left: -10px &:nth-child(even):not(.v-timeline-item--left), &--right .v-card:before, .v-card:after right: 100% .v-timeline-item__opposite margin-right: 96px text-align: right .v-card:before, .v-card:after transform: rotate(180deg) right: -10px &__dot, &__inner-dot border-radius: 50% &__dot elevation(1) align-self: center position: absolute timeline-dots( $timeline-dot-regular-size, $timeline-inner-dot-regular-size, $timeline-inner-dot-regular-margin ) &--small timeline-dots( $timeline-dot-small-size, $timeline-inner-dot-small-size, $timeline-inner-dot-small-margin ) &--large timeline-dots( $timeline-dot-large-size, $timeline-inner-dot-large-size, $timeline-inner-dot-large-margin ) &__inner-dot display: flex justify-content: center align-items: center &__body position: relative height: 100% flex: 1 1 100% max-width: calc(50% - 48px) .v-card &:before, &:after content: '' position: absolute border-top: $timeline-wedge-size solid transparent border-bottom: $timeline-wedge-size solid transparent border-right: $timeline-wedge-size solid black top: 'calc(50% - %s)' % $timeline-wedge-size &:after border-right-color: inherit &:before top: 'calc(50% - %s + 2px)' % $timeline-wedge-size &__opposite flex: 1 1 auto align-self: center max-width: calc(50% - 48px) &--fill-dot .v-timeline-item__inner-dot height: inherit margin: 0 width: inherit .v-timeline padding-top: 24px position: relative &:before bottom: 0 content: '' height: 100% left: calc(50% - 1px) position: absolute top: 0 width: 2px &--align-top .v-timeline-item position: relative &__dot top: 6px &--small top: 12px &--large top: 0 .v-card &:before top: 'calc(0% + %s + 2px)' % $timeline-wedge-size &:after top: 'calc(0% + %s)' % $timeline-wedge-size &--dense &:before left: 18px // -1 for line width .v-timeline-item &:nth-child(odd):not(.v-timeline-item--right), &--left flex-direction: row-reverse .v-card &:before, &:after right: initial left: -($timeline-wedge-size) transform: none &__dot left: 0 &__dot--small left: 7px // -1 for line width &__dot--large left: -7px &__body max-width: calc(100% - 64px) &__opposite display: none