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.
		
		
		
		
		
			
		
			
				
					
					
						
							31 lines
						
					
					
						
							759 B
						
					
					
				
			
		
		
	
	
							31 lines
						
					
					
						
							759 B
						
					
					
				// @flow
 | 
						|
import directionalProperty from '../helpers/directionalProperty'
 | 
						|
 | 
						|
import type { Styles } from '../types/style'
 | 
						|
 | 
						|
/**
 | 
						|
 * Shorthand that accepts up to four values, including null to skip a value, and maps them to their respective directions.
 | 
						|
 * @example
 | 
						|
 * // Styles as object usage
 | 
						|
 * const styles = {
 | 
						|
 *   ...margin('12px', '24px', '36px', '48px')
 | 
						|
 * }
 | 
						|
 *
 | 
						|
 * // styled-components usage
 | 
						|
 * const div = styled.div`
 | 
						|
 *   ${margin('12px', '24px', '36px', '48px')}
 | 
						|
 * `
 | 
						|
 *
 | 
						|
 * // CSS as JS Output
 | 
						|
 *
 | 
						|
 * div {
 | 
						|
 *   'marginTop': '12px',
 | 
						|
 *   'marginRight': '24px',
 | 
						|
 *   'marginBottom': '36px',
 | 
						|
 *   'marginLeft': '48px'
 | 
						|
 * }
 | 
						|
 */
 | 
						|
export default function margin(...values: Array<?string | ?number>): Styles {
 | 
						|
  return directionalProperty('margin', ...values)
 | 
						|
}
 |