unistyle-flex-grid
Version:
Simple Flexbox grid layout system built with Unistyle
47 lines (36 loc) • 1.59 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var _breakpoints = require('./breakpoints');
var _breakpoints2 = _interopRequireDefault(_breakpoints);
var _constants = require('./constants');
var _functions = require('./functions');
/**
* Generates all the offset column sizes variations based on the already defined
* breakpoints for the responsive mobile first behaviour
* @param {Object} bps - Breakpoints object with the media queries declarations
* @param {number} count - Quantity of offset column properties to be generated
* @returns {Object} -Responsive offset column system properties
*/
function responsiveOffsets(bps, count) {
var properties = {};
Object.keys(bps).forEach(function (bp) {
for (var index = 1; index <= count; index += 1) {
if (bps[bp]) {
properties['.off-' + bp + '-' + index] = _defineProperty({}, bps[bp], {
marginLeft: (0, _functions.getPercentage)(index)
});
} else {
properties['.off-' + bp + '-' + index] = {
marginLeft: (0, _functions.getPercentage)(index)
};
}
}
});
return properties;
}
exports['default'] = responsiveOffsets(_breakpoints2['default'], _constants.columns);
module.exports = exports['default'];