diff options
Diffstat (limited to 'node_modules/postcss-flexbugs-fixes/bugs/bug4.js')
| -rw-r--r-- | node_modules/postcss-flexbugs-fixes/bugs/bug4.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/node_modules/postcss-flexbugs-fixes/bugs/bug4.js b/node_modules/postcss-flexbugs-fixes/bugs/bug4.js new file mode 100644 index 00000000..71bf0af1 --- /dev/null +++ b/node_modules/postcss-flexbugs-fixes/bugs/bug4.js @@ -0,0 +1,44 @@ +var postcss = require('postcss'); + +function shouldSetZeroBasis(basisValue) { + if (!basisValue) { + return false; + } + return basisValue === '0' || basisValue.replace(/\s/g, '') === '0px'; +} + +function properBasis(basis) { + if (shouldSetZeroBasis(basis)) { + return '0%'; + } + return basis; +} + +module.exports = function(decl) { + if (decl.prop === 'flex') { + var values = postcss.list.space(decl.value); + + // set default values + var flexGrow = '0'; + var flexShrink = '1'; + var flexBasis = '0%'; + + if (values[0]) { + flexGrow = values[0]; + } + + if (values[1]) { + if (!isNaN(values[1])) { + flexShrink = values[1]; + } else { + flexBasis = values[1]; + } + } + + if (values[2]) { + flexBasis = values[2]; + } + + decl.value = flexGrow + ' ' + flexShrink + ' ' + properBasis(flexBasis); + } +}; |
