123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- /* eslint-disable */
- var utils = require('../wxs/utils.wxs');
- function tabClass(active, ellipsis) {
- var classes = ['tab-class'];
- if (active) {
- classes.push('tab-active-class');
- }
- if (ellipsis) {
- classes.push('van-ellipsis');
- }
- return classes.join(' ');
- }
- function tabStyle(
- active,
- ellipsis,
- color,
- type,
- disabled,
- activeColor,
- inactiveColor,
- swipeThreshold,
- scrollable
- ) {
- var styles = [];
- var isCard = type === 'card';
- // card theme color
- if (color && isCard) {
- styles.push('border-color:' + color);
- if (!disabled) {
- if (active) {
- styles.push('background-color:' + color);
- } else {
- styles.push('color:' + color);
- }
- }
- }
- var titleColor = active ? activeColor : inactiveColor;
- if (titleColor) {
- styles.push('color:' + titleColor);
- }
- if (scrollable && ellipsis) {
- styles.push('flex-basis:' + 88 / swipeThreshold + '%');
- }
- return styles.join(';');
- }
- function tabCardTypeBorderStyle(color, type) {
- var isCard = type === 'card';
- var styles = [];
- if (isCard && color) {
- styles.push('border-color:' + color);
- }
- return styles.join(';');
- }
- function trackStyle(data) {
- if (!data.animated) {
- return '';
- }
- return [
- ['left', -100 * data.currentIndex + '%'],
- ['-webkit-transition-duration', data.duration + 's'],
- ['transition-duration: ', data.duration + 's'],
- ]
- .map(function (item) {
- return item.join(':');
- })
- .join(';');
- }
- function lineStyle(data) {
- var styles = [
- ['width', utils.addUnit(data.lineWidth)],
- ['transform', 'translateX(' + data.lineOffsetLeft + 'px)'],
- ['-webkit-transform', 'translateX(' + data.lineOffsetLeft + 'px)'],
- ];
- if (data.color) {
- styles.push(['background-color', data.color]);
- }
- if (data.lineHeight !== -1) {
- styles.push(['height', utils.addUnit(data.lineHeight)]);
- styles.push(['border-radius', utils.addUnit(data.lineHeight)]);
- }
- if (!data.skipTransition) {
- styles.push(['transition-duration', data.duration + 's']);
- styles.push(['-webkit-transition-duration', data.duration + 's']);
- }
- return styles
- .map(function (item) {
- return item.join(':');
- })
- .join(';');
- }
- module.exports = {
- tabClass: tabClass,
- tabStyle: tabStyle,
- trackStyle: trackStyle,
- lineStyle: lineStyle,
- tabCardTypeBorderStyle: tabCardTypeBorderStyle,
- };
|