44 lines
1.1 KiB
JavaScript
44 lines
1.1 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,
|
||
|
};
|