grid-template-parser
Version:
A simple CSS Grid template parser
46 lines (35 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var find = function find(fn, direction, extremum, _ref) {
var areas = _ref.areas;
return fn.apply(undefined, _toConsumableArray(Object.keys(areas).map(function (cell) {
return areas[cell][direction][extremum];
})));
};
var minColumnStart = exports.minColumnStart = function minColumnStart(grid) {
return find(Math.min, 'column', 'start', grid);
};
var maxColumnStart = exports.maxColumnStart = function maxColumnStart(grid) {
return find(Math.max, 'column', 'start', grid);
};
var minRowStart = exports.minRowStart = function minRowStart(grid) {
return find(Math.min, 'row', 'start', grid);
};
var maxRowStart = exports.maxRowStart = function maxRowStart(grid) {
return find(Math.max, 'row', 'start', grid);
};
var minColumnEnd = exports.minColumnEnd = function minColumnEnd(grid) {
return find(Math.min, 'column', 'end', grid);
};
var maxColumnEnd = exports.maxColumnEnd = function maxColumnEnd(grid) {
return find(Math.max, 'column', 'end', grid);
};
var minRowEnd = exports.minRowEnd = function minRowEnd(grid) {
return find(Math.min, 'row', 'end', grid);
};
var maxRowEnd = exports.maxRowEnd = function maxRowEnd(grid) {
return find(Math.max, 'row', 'end', grid);
};