| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.normalizeGridColumnRowGap = exports.normalizeGridColumnRow = exports.normalizeGridAutoFlow = void 0; |
| |
| var _joinGridValue = _interopRequireDefault(require("../lib/joinGridValue")); |
| |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| |
| const normalizeGridAutoFlow = gridAutoFlow => { |
| let newValue = { |
| front: '', |
| back: '' |
| }; |
| let shouldNormalize = false; |
| gridAutoFlow.walk(node => { |
| if (node.value === 'dense') { |
| shouldNormalize = true; |
| newValue.back = node.value; |
| } else if (['row', 'column'].includes(node.value.trim().toLowerCase())) { |
| shouldNormalize = true; |
| newValue.front = node.value; |
| } else { |
| shouldNormalize = false; |
| } |
| }); |
| |
| if (shouldNormalize) { |
| return `${newValue.front.trim()} ${newValue.back.trim()}`; |
| } |
| |
| return gridAutoFlow; |
| }; |
| |
| exports.normalizeGridAutoFlow = normalizeGridAutoFlow; |
| |
| const normalizeGridColumnRowGap = gridGap => { |
| let newValue = { |
| front: '', |
| back: '' |
| }; |
| let shouldNormalize = false; |
| gridGap.walk(node => { |
| // console.log(node); |
| if (node.value === 'normal') { |
| shouldNormalize = true; |
| newValue.front = node.value; |
| } else { |
| newValue.back = `${newValue.back} ${node.value}`; |
| } |
| }); |
| |
| if (shouldNormalize) { |
| return `${newValue.front.trim()} ${newValue.back.trim()}`; |
| } |
| |
| return gridGap; |
| }; |
| |
| exports.normalizeGridColumnRowGap = normalizeGridColumnRowGap; |
| |
| const normalizeGridColumnRow = grid => { |
| // cant do normalization here using node, so copy it as a string |
| let gridValue = grid.toString().split('/'); // node -> string value, split -> " 2 / 3 span " -> [' 2','3 span '] |
| |
| if (gridValue.length > 1) { |
| return (0, _joinGridValue.default)(gridValue.map(gridLine => { |
| let normalizeValue = { |
| front: '', |
| back: '' |
| }; |
| gridLine = gridLine.trim(); // '3 span ' -> '3 span' |
| |
| gridLine.split(' ').forEach(node => { |
| // ['3','span'] |
| if (node === 'span') { |
| normalizeValue.front = node; // span _ |
| } else { |
| normalizeValue.back = `${normalizeValue.back} ${node}`; // _ 3 |
| } |
| }); |
| return `${normalizeValue.front.trim()} ${normalizeValue.back.trim()}`; // span 3 |
| }) // returns "2 / span 3" |
| ); |
| } // doing this separating if `/` is not present as while joining('/') , it will add `/` at the end |
| |
| |
| return gridValue.map(gridLine => { |
| let normalizeValue = { |
| front: '', |
| back: '' |
| }; |
| gridLine = gridLine.trim(); |
| gridLine.split(' ').forEach(node => { |
| if (node === 'span') { |
| normalizeValue.front = node; |
| } else { |
| normalizeValue.back = `${normalizeValue.back} ${node}`; |
| } |
| }); |
| return `${normalizeValue.front.trim()} ${normalizeValue.back.trim()}`; |
| }); |
| }; |
| |
| exports.normalizeGridColumnRow = normalizeGridColumnRow; |