'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = transition; var _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty'); var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var properties = { transition: true, transitionProperty: true, WebkitTransition: true, WebkitTransitionProperty: true, MozTransition: true, MozTransitionProperty: true }; var requiresPrefixDashCased = void 0; function transition(property, value, style, _ref) { var cssPrefix = _ref.cssPrefix, keepUnprefixed = _ref.keepUnprefixed, requiresPrefix = _ref.requiresPrefix; if (typeof value === 'string' && properties.hasOwnProperty(property)) { // memoize the prefix array for later use if (!requiresPrefixDashCased) { requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) { return (0, _hyphenateProperty2.default)(prop); }); } // only split multi values, not cubic beziers var multipleValues = value.split(/,(?![^()]*(?:\([^()]*\))?\))/g); requiresPrefixDashCased.forEach(function (prop) { multipleValues.forEach(function (val, index) { if (val.indexOf(prop) > -1 && prop !== 'order') { multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? ',' + val : ''); } }); }); return multipleValues.join(','); } } module.exports = exports['default'];