{"dependencies":[{"name":"css-in-js-utils/lib/hyphenateProperty","loc":{"line":8,"column":33}},{"name":"css-in-js-utils/lib/isPrefixedValue","loc":{"line":12,"column":31}},{"name":"../../utils/capitalizeString","loc":{"line":16,"column":32}}],"generated":{"js":"'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n  transition: true,\n  transitionProperty: true,\n  WebkitTransition: true,\n  WebkitTransitionProperty: true,\n  MozTransition: true,\n  MozTransitionProperty: true\n};\n\n\nvar prefixMapping = {\n  Webkit: '-webkit-',\n  Moz: '-moz-',\n  ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n  if ((0, _isPrefixedValue2.default)(value)) {\n    return value;\n  }\n\n  // only split multi values, not cubic beziers\n  var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n  for (var i = 0, len = multipleValues.length; i < len; ++i) {\n    var singleValue = multipleValues[i];\n    var values = [singleValue];\n    for (var property in propertyPrefixMap) {\n      var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n      if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n        var prefixes = propertyPrefixMap[property];\n        for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n          // join all prefixes and create a new value\n          values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n        }\n      }\n    }\n\n    multipleValues[i] = values.join(',');\n  }\n\n  return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n  // also check for already prefixed transitions\n  if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n    var outputValue = prefixValue(value, propertyPrefixMap);\n    // if the property is already prefixed\n    var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n      return !/-moz-|-ms-/.test(val);\n    }).join(',');\n\n    if (property.indexOf('Webkit') > -1) {\n      return webkitOutput;\n    }\n\n    var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n      return !/-webkit-|-ms-/.test(val);\n    }).join(',');\n\n    if (property.indexOf('Moz') > -1) {\n      return mozOutput;\n    }\n\n    style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n    style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n    return outputValue;\n  }\n}\nmodule.exports = exports['default'];"},"hash":"1326402da3cb8f06da96f2d6b2c0960b"}