react-lory
Version:
[Deprecated] Use react-slidy instead.
66 lines (54 loc) • 1.6 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = detectPrefixes;
var TRANSLATE_3D_INIT = 'translate3d(0, 0, 0)';
// Detect prefixes for saving time and bytes
function detectPrefixes() {
var transform = void 0;
var transition = void 0;
var transitionEnd = void 0;
var translate = void 0;
(function () {
var el = document.createElement('div');
var style = el.style;
var prop = void 0;
if (style[prop = 'webkitTransition'] === '') {
transitionEnd = 'webkitTransitionEnd';
transition = prop;
}
if (style[prop = 'transition'] === '') {
transitionEnd = 'transitionend';
transition = prop;
}
if (style[prop = 'webkitTransform'] === '') {
transform = '-webkit-transform';
}
if (style[prop = 'msTransform'] === '') {
transform = '-ms-transform';
}
if (style[prop = 'transform'] === '') {
transform = prop;
}
document.body.insertBefore(el, null);
style[transform] = TRANSLATE_3D_INIT;
var hasTranslate3d = !!el.style.getPropertyValue(transform);
translate = function () {
return hasTranslate3d ? function (to) {
return 'translate3d(' + to + 'px, 0, 0)';
} : function (to) {
return 'translate(' + to + 'px, 0)';
};
}();
document.body.removeChild(el);
})();
return {
transform: transform,
translate: translate,
transition: transition,
transitionEnd: transitionEnd,
transitionTiming: transition + '-timing-function',
transitionDuration: transition + '-duration'
};
}
;