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.
		
		
		
		
		
			
		
			
				
					42 lines
				
				1.0 KiB
			
		
		
			
		
	
	
					42 lines
				
				1.0 KiB
			| 
											3 years ago
										 | import { get, createParser } from '@styled-system/core'; | ||
|  | import css from '@styled-system/css'; | ||
|  | export var variant = function variant(_ref) { | ||
|  |   var _config; | ||
|  | 
 | ||
|  |   var scale = _ref.scale, | ||
|  |       _ref$prop = _ref.prop, | ||
|  |       prop = _ref$prop === void 0 ? 'variant' : _ref$prop, | ||
|  |       _ref$variants = _ref.variants, | ||
|  |       variants = _ref$variants === void 0 ? {} : _ref$variants, | ||
|  |       key = _ref.key; | ||
|  |   var sx; | ||
|  | 
 | ||
|  |   if (Object.keys(variants).length) { | ||
|  |     sx = function sx(value, scale, props) { | ||
|  |       return css(get(scale, value, null))(props.theme); | ||
|  |     }; | ||
|  |   } else { | ||
|  |     sx = function sx(value, scale) { | ||
|  |       return get(scale, value, null); | ||
|  |     }; | ||
|  |   } | ||
|  | 
 | ||
|  |   sx.scale = scale || key; | ||
|  |   sx.defaults = variants; | ||
|  |   var config = (_config = {}, _config[prop] = sx, _config); | ||
|  |   var parser = createParser(config); | ||
|  |   return parser; | ||
|  | }; | ||
|  | export default variant; | ||
|  | export var buttonStyle = variant({ | ||
|  |   key: 'buttons' | ||
|  | }); | ||
|  | export var textStyle = variant({ | ||
|  |   key: 'textStyles', | ||
|  |   prop: 'textStyle' | ||
|  | }); | ||
|  | export var colorStyle = variant({ | ||
|  |   key: 'colorStyles', | ||
|  |   prop: 'colors' | ||
|  | }); |