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