css-grid-template-parser
Version:
A simple CSS Grid template parser
80 lines • 1.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.maxRowEnd = exports.minRowEnd = exports.maxColumnEnd = exports.minColumnEnd = exports.maxRowStart = exports.minRowStart = exports.maxColumnStart = exports.minColumnStart = void 0;
function find(fn, direction, extremum, _a) {
var areas = _a.areas;
return fn.apply(void 0, Object.keys(areas).map(function (cell) { return areas[cell][direction][extremum]; }));
}
/**
* Mins column start
* @param grid
* @returns column start
*/
function minColumnStart(grid) {
return find(Math.min, 'column', 'start', grid);
}
exports.minColumnStart = minColumnStart;
/**
* Maxs column start
* @param grid
* @returns column start
*/
function maxColumnStart(grid) {
return find(Math.max, 'column', 'start', grid);
}
exports.maxColumnStart = maxColumnStart;
/**
* Mins row start
* @param grid
* @returns row start
*/
function minRowStart(grid) {
return find(Math.min, 'row', 'start', grid);
}
exports.minRowStart = minRowStart;
/**
* Maxs row start
* @param grid
* @returns row start
*/
function maxRowStart(grid) {
return find(Math.max, 'row', 'start', grid);
}
exports.maxRowStart = maxRowStart;
/**
* Mins column end
* @param grid
* @returns column end
*/
function minColumnEnd(grid) {
return find(Math.min, 'column', 'end', grid);
}
exports.minColumnEnd = minColumnEnd;
/**
* Maxs column end
* @param grid
* @returns column end
*/
function maxColumnEnd(grid) {
return find(Math.max, 'column', 'end', grid);
}
exports.maxColumnEnd = maxColumnEnd;
/**
* Mins row end
* @param grid
* @returns row end
*/
function minRowEnd(grid) {
return find(Math.min, 'row', 'end', grid);
}
exports.minRowEnd = minRowEnd;
/**
* Maxs row end
* @param grid
* @returns row end
*/
function maxRowEnd(grid) {
return find(Math.max, 'row', 'end', grid);
}
exports.maxRowEnd = maxRowEnd;
//# sourceMappingURL=bounds.js.map