UNPKG

tdesign-react

Version:
280 lines (244 loc) 7.08 kB
.position-center(@direction) { position: absolute; & when(@direction = x) { left: 50%; transform: translateX(-50%); } & when(@direction = y) { top: 50%; transform: translateY(-50%); } } .swiper-arrow(@direction, @size: medium) { @arrowWidth: "swiper-arrow-width-@{size}"; @arrowHeight: "swiper-arrow-height-@{size}"; @arrowPosition: "swiper-arrow-left-@{size}"; & when(@size = medium) { .@{prefix}-swiper__arrow-@{direction} { .position-center(y); display: flex; width: @@arrowWidth; height: @@arrowHeight; justify-content: center; align-items: center; z-index: @swiper-navigation-z-index-default; background-color: transparent; color: @swiper-navigation-item-bg-hover; transition: @anim-duration-base linear; cursor: pointer; & when(@direction = left) { left: @@arrowPosition; } & when(@direction = right) { right: @@arrowPosition; } &:hover { color: @swiper-navigation-item-bg-active; background-color: @swiper-navigation-item-bg; border-radius: @border-radius-default; transition: @anim-duration-base linear; } &:active { background-color: @swiper-arrow-active; transition: @anim-duration-base linear; } } } & when(@size = large) { .@{prefix}-swiper__arrow-@{direction} { width: @@arrowWidth; height: @@arrowHeight; & when(@direction = left) { left: @@arrowPosition; } & when(@direction = right) { right: @@arrowPosition; } } } & when(@size = small) { .@{prefix}-swiper__arrow-@{direction} { width: @@arrowWidth; height: @@arrowHeight; & when(@direction = left) { left: @@arrowPosition; } & when(@direction = right) { right: @@arrowPosition; } } } } .swiper-arrow-fraction(@direction, @width) { .@{prefix}-swiper__arrow-@{direction} { display: flex; justify-content: center; align-items: center; z-index: @swiper-navigation-z-index-default; background-color: transparent; color: @swiper-navigation-arrow-color-fraction; width: @@width; height: @@width; cursor: pointer; &:hover { color: @swiper-navigation-item-outside-bg-hover; } &:active { color: @swiper-navigation-item-outside-bg-active; } } } .swiper-navigation-fraction(@size: medium) { @fractionLineHeight: "swiper-navigation-line-height-fraction-@{size}"; @fractionFontSize: "swiper-navigation-font-size-fraction-@{size}"; .position-center(x); top: auto; right: auto; bottom: calc(0px - calc(@@fractionLineHeight + 12px)); height: @@fractionLineHeight; line-height: @@fractionLineHeight; .swiper-arrow-fraction(left, @fractionLineHeight); .swiper-arrow-fraction(right, @fractionLineHeight); .@{prefix}-swiper__navigation-text-fraction { display: inline-block; font-size: @@fractionFontSize; color: @swiper-navigation-text-color-fraction; margin: 0; } } .swiper-navigation-item(@type, @position: inside, @direction: horizontal, @size: medium) { & when(@position = inside) { & when(@type = bars), (@type = dots-bar) { .@{prefix}-swiper__navigation-item { @itemWidth: "swiper-navigation-item-width-bars-@{size}"; @itemHeight: "swiper-navigation-item-height-bars-@{size}"; @itemWidthActive: "swiper-navigation-item-width-bars-@{size}-active"; @itemMargin: "swiper-navigation-item-margin-@{size}"; cursor: pointer; & when(@type = dots-bar) { span { border-radius: calc(@@itemHeight / 2); } } & when(@direction = horizontal) { margin: 0 0 0 @@itemMargin; padding: @@itemMargin * 3 0; width: @@itemWidth; height: auto; span { width: 100%; height: @@itemHeight; } &:nth-child(1) { margin-left: 0; } } & when(@direction = vertical) { margin: @@itemMargin 0 0 0; padding: 0 @@itemMargin * 3; width: auto; height: @@itemWidth; span { width: @@itemHeight; height: 100%; } &:nth-child(1) { margin-top: 0; } } span { background: @swiper-navigation-item-bg; &:hover { background-color: @swiper-navigation-item-bg-hover; } &:active { background-color: @swiper-navigation-item-bg-active; } } &.@{prefix}-is-active { & when(@direction = horizontal) { width: @@itemWidthActive; } & when(@direction = vertical) { height: @@itemWidthActive; } span { background-color: @swiper-navigation-item-bg-active; } } } } & when(@type = dots) { .@{prefix}-swiper__navigation-item { @itemWidth: "swiper-navigation-item-dot-size"; @itemHeight: "swiper-navigation-item-dot-size"; @itemWidthActive: "swiper-navigation-item-width-bars-@{size}-active"; @itemMargin: "swiper-navigation-item-margin-@{size}"; cursor: pointer; span { border-radius: 50%; } & when(@direction = horizontal) { margin: 0 0 0 @@itemMargin; padding: @@itemMargin * 3 0; width: @@itemWidth; height: auto; span { width: 100%; height: @@itemHeight; } &:nth-child(1) { margin-left: 0; } } & when(@direction = vertical) { margin: @@itemMargin 0 0 0; padding: 0 @@itemMargin * 3; width: auto; max-height: @@itemWidth; span { width: @@itemHeight; height: 100%; } &:nth-child(1) { margin-top: 0; } } span { background: @swiper-navigation-item-bg; &:hover { background-color: @swiper-navigation-item-bg-hover; } &:active { background-color: @swiper-navigation-item-bg-active; } } &.@{prefix}-is-active { span { background-color: @swiper-navigation-item-bg-active; } } } } } & when(@position = outside) { & when(@type = bars) { .@{prefix}-swiper__navigation-item { span { background-color: @swiper-navigation-item-bg-outside; &:hover { background-color: @swiper-navigation-item-outside-bg-hover; } &:active { background-color: @swiper-navigation-item-outside-bg-active; } } } .@{prefix}-is-active { span { background-color: @swiper-navigation-item-outside-bg-active; } } } } }