|
- '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;
|