2020-05-19 11:43:42 +03:00

125 lines
3.0 KiB
JavaScript

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.autoprefix = undefined;
var _forOwn2 = require('lodash/forOwn');
var _forOwn3 = _interopRequireDefault(_forOwn2);
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var transforms = {
borderRadius: function borderRadius(value) {
return {
msBorderRadius: value,
MozBorderRadius: value,
OBorderRadius: value,
WebkitBorderRadius: value,
borderRadius: value
};
},
boxShadow: function boxShadow(value) {
return {
msBoxShadow: value,
MozBoxShadow: value,
OBoxShadow: value,
WebkitBoxShadow: value,
boxShadow: value
};
},
userSelect: function userSelect(value) {
return {
WebkitTouchCallout: value,
KhtmlUserSelect: value,
MozUserSelect: value,
msUserSelect: value,
WebkitUserSelect: value,
userSelect: value
};
},
flex: function flex(value) {
return {
WebkitBoxFlex: value,
MozBoxFlex: value,
WebkitFlex: value,
msFlex: value,
flex: value
};
},
flexBasis: function flexBasis(value) {
return {
WebkitFlexBasis: value,
flexBasis: value
};
},
justifyContent: function justifyContent(value) {
return {
WebkitJustifyContent: value,
justifyContent: value
};
},
transition: function transition(value) {
return {
msTransition: value,
MozTransition: value,
OTransition: value,
WebkitTransition: value,
transition: value
};
},
transform: function transform(value) {
return {
msTransform: value,
MozTransform: value,
OTransform: value,
WebkitTransform: value,
transform: value
};
},
absolute: function absolute(value) {
var direction = value && value.split(' ');
return {
position: 'absolute',
top: direction && direction[0],
right: direction && direction[1],
bottom: direction && direction[2],
left: direction && direction[3]
};
},
extend: function extend(name, otherElementStyles) {
var otherStyle = otherElementStyles[name];
if (otherStyle) {
return otherStyle;
}
return {
'extend': name
};
}
};
var autoprefix = exports.autoprefix = function autoprefix(elements) {
var prefixed = {};
(0, _forOwn3.default)(elements, function (styles, element) {
var expanded = {};
(0, _forOwn3.default)(styles, function (value, key) {
var transform = transforms[key];
if (transform) {
expanded = _extends({}, expanded, transform(value));
} else {
expanded[key] = value;
}
});
prefixed[element] = expanded;
});
return prefixed;
};
exports.default = autoprefix;