react-prefixer
Advanced tools
Comparing version 1.0.5 to 1.1.0
@@ -19,2 +19,6 @@ "use strict"; | ||
function camelToKebab(str) { | ||
return str.replace(/\W+/g, "-").replace(/([a-z\d])([A-Z])/g, "$1-$2").toLowerCase(); | ||
} | ||
function isPropertySupported(prop) { | ||
@@ -37,17 +41,29 @@ return typeof div.style[prop] === "string"; | ||
Object.keys(obj).forEach(function (key) { | ||
var realKey = key; | ||
if (typeof obj[key] === "object" && !!obj[key]) { | ||
obj[key] = applyPrefixes(obj[key]); | ||
} else if (_properties2["default"].indexOf(key) !== -1 && !isPropertySupported(key)) { | ||
var value = obj[key], | ||
prefixedKey = _prefix2["default"].js + key.charAt(0).toUpperCase() + key.slice(1); | ||
var value = obj[key]; | ||
if (key === "transition") { | ||
value = value.replace(/transform/g, _prefix2["default"].css + "transform"); | ||
} | ||
realKey = _prefix2["default"].js + key.charAt(0).toUpperCase() + key.slice(1); | ||
delete obj[key]; | ||
obj[prefixedKey] = value; | ||
} else if (key === "display" && obj[key] === "flex" && !isValueSupported("display", "flex", "block")) { | ||
obj[realKey] = value; | ||
} | ||
if (key === "display" && obj[key] === "flex" && !isValueSupported("display", "flex", "block")) { | ||
obj[key] = _prefix2["default"] === "ms" ? "-ms-flexbox" : _prefix2["default"].css + "flex"; | ||
} | ||
if (key === "transition") { | ||
animatableValues.forEach(function (animatableValue) { | ||
if (!isPropertySupported(animatableValue)) { | ||
var kebabValue = camelToKebab(animatableValue), | ||
re = new RegExp(kebabValue, "g"); | ||
obj[realKey] = obj[realKey].replace(re, _prefix2["default"].css + kebabValue); | ||
} | ||
}); | ||
} | ||
}); | ||
@@ -54,0 +70,0 @@ } |
@@ -36,3 +36,3 @@ { | ||
}, | ||
"version": "1.0.5" | ||
"version": "1.1.0" | ||
} |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
66970
18
82