12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.animationEndName = void 0;
- exports.getTransitionName = getTransitionName;
- exports.getVendorPrefixedEventName = getVendorPrefixedEventName;
- exports.getVendorPrefixes = getVendorPrefixes;
- exports.transitionEndName = exports.supportTransition = void 0;
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
- var _canUseDom = _interopRequireDefault(require("rc-util/lib/Dom/canUseDom"));
- // ================= Transition =================
- // Event wrapper. Copy from react source code
- function makePrefixMap(styleProp, eventName) {
- var prefixes = {};
- prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();
- prefixes["Webkit".concat(styleProp)] = "webkit".concat(eventName);
- prefixes["Moz".concat(styleProp)] = "moz".concat(eventName);
- prefixes["ms".concat(styleProp)] = "MS".concat(eventName);
- prefixes["O".concat(styleProp)] = "o".concat(eventName.toLowerCase());
- return prefixes;
- }
- function getVendorPrefixes(domSupport, win) {
- var prefixes = {
- animationend: makePrefixMap('Animation', 'AnimationEnd'),
- transitionend: makePrefixMap('Transition', 'TransitionEnd')
- };
- if (domSupport) {
- if (!('AnimationEvent' in win)) {
- delete prefixes.animationend.animation;
- }
- if (!('TransitionEvent' in win)) {
- delete prefixes.transitionend.transition;
- }
- }
- return prefixes;
- }
- var vendorPrefixes = getVendorPrefixes((0, _canUseDom.default)(), typeof window !== 'undefined' ? window : {});
- var style = {};
- if ((0, _canUseDom.default)()) {
- var _document$createEleme = document.createElement('div');
- style = _document$createEleme.style;
- }
- var prefixedEventNames = {};
- function getVendorPrefixedEventName(eventName) {
- if (prefixedEventNames[eventName]) {
- return prefixedEventNames[eventName];
- }
- var prefixMap = vendorPrefixes[eventName];
- if (prefixMap) {
- var stylePropList = Object.keys(prefixMap);
- var len = stylePropList.length;
- for (var i = 0; i < len; i += 1) {
- var styleProp = stylePropList[i];
- if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {
- prefixedEventNames[eventName] = prefixMap[styleProp];
- return prefixedEventNames[eventName];
- }
- }
- }
- return '';
- }
- var internalAnimationEndName = getVendorPrefixedEventName('animationend');
- var internalTransitionEndName = getVendorPrefixedEventName('transitionend');
- var supportTransition = exports.supportTransition = !!(internalAnimationEndName && internalTransitionEndName);
- var animationEndName = exports.animationEndName = internalAnimationEndName || 'animationend';
- var transitionEndName = exports.transitionEndName = internalTransitionEndName || 'transitionend';
- function getTransitionName(transitionName, transitionType) {
- if (!transitionName) return null;
- if ((0, _typeof2.default)(transitionName) === 'object') {
- var type = transitionType.replace(/-\w/g, function (match) {
- return match[1].toUpperCase();
- });
- return transitionName[type];
- }
- return "".concat(transitionName, "-").concat(transitionType);
- }
|