react-stack-grid
Version:
Pinterest like layout components for React.js
71 lines (52 loc) • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.buildStyles = exports.transition = undefined;
var _inlineStylePrefixer = require('inline-style-prefixer');
var _inlineStylePrefixer2 = _interopRequireDefault(_inlineStylePrefixer);
var _easyCssTransformBuilder = require('easy-css-transform-builder');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var isTransformProp = function isTransformProp(v) {
return _easyCssTransformBuilder.properties.indexOf(v) > -1;
};
var transition = exports.transition = function transition(props, duration, easing) {
return props.map(function (prop) {
return prop + ' ' + duration + 'ms ' + easing;
}).join(',');
};
var buildStyles = exports.buildStyles = function buildStyles(styles, units, vendorPrefix, userAgent) {
var builder = (0, _easyCssTransformBuilder.createCSSTransformBuilder)(units);
var finalStyles = {};
var transformStyles = {};
Object.keys(styles).forEach(function (key) {
var value = styles[key];
if (isTransformProp(key)) {
transformStyles[key] = value;
if (key === 'perspective') {
finalStyles[key] = value;
}
} else {
finalStyles[key] = value;
}
});
var transform = builder(transformStyles, units);
if (transform !== '') {
finalStyles.transform = transform;
}
if (vendorPrefix) {
var prefixer = new _inlineStylePrefixer2.default({ userAgent: userAgent });
return prefixer.prefix(finalStyles);
}
return finalStyles;
};
;
var _temp = function () {
if (typeof __REACT_HOT_LOADER__ === 'undefined') {
return;
}
__REACT_HOT_LOADER__.register(isTransformProp, 'isTransformProp', 'src/utils/style-helper.js');
__REACT_HOT_LOADER__.register(transition, 'transition', 'src/utils/style-helper.js');
__REACT_HOT_LOADER__.register(buildStyles, 'buildStyles', 'src/utils/style-helper.js');
}();
;