You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.0 KiB
83 lines
2.0 KiB
/* eslint-disable */ |
|
var utils = require('../wxs/utils.wxs'); |
|
var style = require('../wxs/style.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(data) { |
|
var titleColor = data.active |
|
? data.titleActiveColor |
|
: data.titleInactiveColor; |
|
|
|
var ellipsis = data.scrollable && data.ellipsis; |
|
|
|
// card theme color |
|
if (data.type === 'card') { |
|
return style({ |
|
'border-color': data.color, |
|
'background-color': !data.disabled && data.active ? data.color : null, |
|
color: titleColor || (!data.disabled && !data.active ? data.color : null), |
|
'flex-basis': ellipsis ? 88 / data.swipeThreshold + '%' : null, |
|
}); |
|
} |
|
|
|
return style({ |
|
color: titleColor, |
|
'flex-basis': ellipsis ? 88 / data.swipeThreshold + '%' : null, |
|
}); |
|
} |
|
|
|
function navStyle(color, type) { |
|
return style({ |
|
'border-color': type === 'card' && color ? color : null, |
|
}); |
|
} |
|
|
|
function trackStyle(data) { |
|
if (!data.animated) { |
|
return ''; |
|
} |
|
|
|
return style({ |
|
left: -100 * data.currentIndex + '%', |
|
'transition-duration': data.duration + 's', |
|
'-webkit-transition-duration': data.duration + 's', |
|
}); |
|
} |
|
|
|
function lineStyle(data) { |
|
return style({ |
|
width: utils.addUnit(data.lineWidth), |
|
opacity: data.inited ? 1 : 0, |
|
transform: 'translateX(' + data.lineOffsetLeft + 'px)', |
|
'-webkit-transform': 'translateX(' + data.lineOffsetLeft + 'px)', |
|
'background-color': data.color, |
|
height: data.lineHeight !== -1 ? utils.addUnit(data.lineHeight) : null, |
|
'border-radius': |
|
data.lineHeight !== -1 ? utils.addUnit(data.lineHeight) : null, |
|
'transition-duration': !data.skipTransition ? data.duration + 's' : null, |
|
'-webkit-transition-duration': !data.skipTransition |
|
? data.duration + 's' |
|
: null, |
|
}); |
|
} |
|
|
|
module.exports = { |
|
tabClass: tabClass, |
|
tabStyle: tabStyle, |
|
trackStyle: trackStyle, |
|
lineStyle: lineStyle, |
|
navStyle: navStyle, |
|
};
|
|
|