125 lines
3.0 KiB
JavaScript
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; |