regridder
Version:
Simple React js responsive grid layout system
35 lines (27 loc) • 1.29 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var getPropAtIndex = function getPropAtIndex(index, prop) {
return Array.isArray(prop) ? prop[Math.min(index, prop.length - 1)] : prop;
};
var getPropsAtIndex = function getPropsAtIndex(index, props) {
return Object.keys(props).reduce(function (propsAtIndex, propKey) {
var propValue = props[propKey];
propsAtIndex[propKey] = getPropAtIndex(index, propValue);
return propsAtIndex;
}, {});
};
var generateMediaQuery = function generateMediaQuery(breakpoint, propsIndex, props, generateStyle) {
return "@media only screen and (min-width: " + breakpoint + ") {\n " + generateStyle(getPropsAtIndex(propsIndex, props)) + "\n }";
};
var generateMediaQueries = function generateMediaQueries(props, generateStyle) {
return Array.isArray(props.breakpoints) && props.breakpoints.length > 0 ? props.breakpoints.map(function (breakpoint, index) {
return generateMediaQuery(breakpoint, index + 1, props, generateStyle);
}).join(" ") : "";
};
var generateDefaultStyle = function generateDefaultStyle(props, generateStyle) {
return generateStyle(getPropsAtIndex(0, props));
};
exports.generateDefaultStyle = generateDefaultStyle;
exports.generateMediaQueries = generateMediaQueries;
;