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.
45 lines
1.2 KiB
45 lines
1.2 KiB
'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, |
|
};
|
|
|