46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								'use strict';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var shorthandParser = require('../parsers').shorthandParser;
							 | 
						||
| 
								 | 
							
								var shorthandSetter = require('../parsers').shorthandSetter;
							 | 
						||
| 
								 | 
							
								var shorthandGetter = require('../parsers').shorthandGetter;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var shorthand_for = {
							 | 
						||
| 
								 | 
							
								  'flex-grow': require('./flexGrow'),
							 | 
						||
| 
								 | 
							
								  'flex-shrink': require('./flexShrink'),
							 | 
						||
| 
								 | 
							
								  'flex-basis': require('./flexBasis'),
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								var myShorthandSetter = shorthandSetter('flex', shorthand_for);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports.isValid = function isValid(v) {
							 | 
						||
| 
								 | 
							
								  return shorthandParser(v, shorthand_for) !== undefined;
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports.definition = {
							 | 
						||
| 
								 | 
							
								  set: function(v) {
							 | 
						||
| 
								 | 
							
								    var normalizedValue = String(v)
							 | 
						||
| 
								 | 
							
								      .trim()
							 | 
						||
| 
								 | 
							
								      .toLowerCase();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if (normalizedValue === 'none') {
							 | 
						||
| 
								 | 
							
								      myShorthandSetter.call(this, '0 0 auto');
							 | 
						||
| 
								 | 
							
								      return;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (normalizedValue === 'initial') {
							 | 
						||
| 
								 | 
							
								      myShorthandSetter.call(this, '0 1 auto');
							 | 
						||
| 
								 | 
							
								      return;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    if (normalizedValue === 'auto') {
							 | 
						||
| 
								 | 
							
								      this.removeProperty('flex-grow');
							 | 
						||
| 
								 | 
							
								      this.removeProperty('flex-shrink');
							 | 
						||
| 
								 | 
							
								      this.setProperty('flex-basis', normalizedValue);
							 | 
						||
| 
								 | 
							
								      return;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    myShorthandSetter.call(this, v);
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								  get: shorthandGetter('flex', shorthand_for),
							 | 
						||
| 
								 | 
							
								  enumerable: true,
							 | 
						||
| 
								 | 
							
								  configurable: true,
							 | 
						||
| 
								 | 
							
								};
							 |