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, | |
| };
 | |
| 
 |