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.
		
		
		
		
		
			
		
			
				
					32 lines
				
				825 B
			
		
		
			
		
	
	
					32 lines
				
				825 B
			| 
											3 years ago
										 | import getComputedStyle from './getComputedStyle'; | ||
|  | import hyphenate from './hyphenateStyle'; | ||
|  | import isTransform from './isTransform'; | ||
|  | 
 | ||
|  | function style(node, property) { | ||
|  |   var css = ''; | ||
|  |   var transforms = ''; | ||
|  | 
 | ||
|  |   if (typeof property === 'string') { | ||
|  |     return node.style.getPropertyValue(hyphenate(property)) || getComputedStyle(node).getPropertyValue(hyphenate(property)); | ||
|  |   } | ||
|  | 
 | ||
|  |   Object.keys(property).forEach(function (key) { | ||
|  |     var value = property[key]; | ||
|  | 
 | ||
|  |     if (!value && value !== 0) { | ||
|  |       node.style.removeProperty(hyphenate(key)); | ||
|  |     } else if (isTransform(key)) { | ||
|  |       transforms += key + "(" + value + ") "; | ||
|  |     } else { | ||
|  |       css += hyphenate(key) + ": " + value + ";"; | ||
|  |     } | ||
|  |   }); | ||
|  | 
 | ||
|  |   if (transforms) { | ||
|  |     css += "transform: " + transforms + ";"; | ||
|  |   } | ||
|  | 
 | ||
|  |   node.style.cssText += ";" + css; | ||
|  | } | ||
|  | 
 | ||
|  | export default style; |