first commit
This commit is contained in:
21
frontend/node_modules/rc-motion/lib/util/diff.d.ts
generated
vendored
Normal file
21
frontend/node_modules/rc-motion/lib/util/diff.d.ts
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
/// <reference types="react" />
|
||||
export declare const STATUS_ADD: "add";
|
||||
export declare const STATUS_KEEP: "keep";
|
||||
export declare const STATUS_REMOVE: "remove";
|
||||
export declare const STATUS_REMOVED: "removed";
|
||||
export type DiffStatus = typeof STATUS_ADD | typeof STATUS_KEEP | typeof STATUS_REMOVE | typeof STATUS_REMOVED;
|
||||
type RawKeyType = string | number;
|
||||
export interface KeyObject {
|
||||
key: RawKeyType;
|
||||
status?: DiffStatus;
|
||||
}
|
||||
export declare function wrapKeyToObject(key: React.Key | KeyObject): {
|
||||
key: string;
|
||||
status?: DiffStatus;
|
||||
};
|
||||
export declare function parseKeys(keys?: any[]): {
|
||||
key: string;
|
||||
status?: DiffStatus;
|
||||
}[];
|
||||
export declare function diffKeys(prevKeys?: KeyObject[], currentKeys?: KeyObject[]): KeyObject[];
|
||||
export {};
|
||||
113
frontend/node_modules/rc-motion/lib/util/diff.js
generated
vendored
Normal file
113
frontend/node_modules/rc-motion/lib/util/diff.js
generated
vendored
Normal file
@@ -0,0 +1,113 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.STATUS_REMOVED = exports.STATUS_REMOVE = exports.STATUS_KEEP = exports.STATUS_ADD = void 0;
|
||||
exports.diffKeys = diffKeys;
|
||||
exports.parseKeys = parseKeys;
|
||||
exports.wrapKeyToObject = wrapKeyToObject;
|
||||
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
||||
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
||||
var STATUS_ADD = exports.STATUS_ADD = 'add';
|
||||
var STATUS_KEEP = exports.STATUS_KEEP = 'keep';
|
||||
var STATUS_REMOVE = exports.STATUS_REMOVE = 'remove';
|
||||
var STATUS_REMOVED = exports.STATUS_REMOVED = 'removed';
|
||||
function wrapKeyToObject(key) {
|
||||
var keyObj;
|
||||
if (key && (0, _typeof2.default)(key) === 'object' && 'key' in key) {
|
||||
keyObj = key;
|
||||
} else {
|
||||
keyObj = {
|
||||
key: key
|
||||
};
|
||||
}
|
||||
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, keyObj), {}, {
|
||||
key: String(keyObj.key)
|
||||
});
|
||||
}
|
||||
function parseKeys() {
|
||||
var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
||||
return keys.map(wrapKeyToObject);
|
||||
}
|
||||
function diffKeys() {
|
||||
var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
||||
var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
||||
var list = [];
|
||||
var currentIndex = 0;
|
||||
var currentLen = currentKeys.length;
|
||||
var prevKeyObjects = parseKeys(prevKeys);
|
||||
var currentKeyObjects = parseKeys(currentKeys);
|
||||
|
||||
// Check prev keys to insert or keep
|
||||
prevKeyObjects.forEach(function (keyObj) {
|
||||
var hit = false;
|
||||
for (var i = currentIndex; i < currentLen; i += 1) {
|
||||
var currentKeyObj = currentKeyObjects[i];
|
||||
if (currentKeyObj.key === keyObj.key) {
|
||||
// New added keys should add before current key
|
||||
if (currentIndex < i) {
|
||||
list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {
|
||||
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, obj), {}, {
|
||||
status: STATUS_ADD
|
||||
});
|
||||
}));
|
||||
currentIndex = i;
|
||||
}
|
||||
list.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, currentKeyObj), {}, {
|
||||
status: STATUS_KEEP
|
||||
}));
|
||||
currentIndex += 1;
|
||||
hit = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// If not hit, it means key is removed
|
||||
if (!hit) {
|
||||
list.push((0, _objectSpread2.default)((0, _objectSpread2.default)({}, keyObj), {}, {
|
||||
status: STATUS_REMOVE
|
||||
}));
|
||||
}
|
||||
});
|
||||
|
||||
// Add rest to the list
|
||||
if (currentIndex < currentLen) {
|
||||
list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {
|
||||
return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, obj), {}, {
|
||||
status: STATUS_ADD
|
||||
});
|
||||
}));
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge same key when it remove and add again:
|
||||
* [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]
|
||||
*/
|
||||
var keys = {};
|
||||
list.forEach(function (_ref) {
|
||||
var key = _ref.key;
|
||||
keys[key] = (keys[key] || 0) + 1;
|
||||
});
|
||||
var duplicatedKeys = Object.keys(keys).filter(function (key) {
|
||||
return keys[key] > 1;
|
||||
});
|
||||
duplicatedKeys.forEach(function (matchKey) {
|
||||
// Remove `STATUS_REMOVE` node.
|
||||
list = list.filter(function (_ref2) {
|
||||
var key = _ref2.key,
|
||||
status = _ref2.status;
|
||||
return key !== matchKey || status !== STATUS_REMOVE;
|
||||
});
|
||||
|
||||
// Update `STATUS_ADD` to `STATUS_KEEP`
|
||||
list.forEach(function (node) {
|
||||
if (node.key === matchKey) {
|
||||
// eslint-disable-next-line no-param-reassign
|
||||
node.status = STATUS_KEEP;
|
||||
}
|
||||
});
|
||||
});
|
||||
return list;
|
||||
}
|
||||
10
frontend/node_modules/rc-motion/lib/util/motion.d.ts
generated
vendored
Normal file
10
frontend/node_modules/rc-motion/lib/util/motion.d.ts
generated
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
import { MotionName } from '../CSSMotion';
|
||||
export declare function getVendorPrefixes(domSupport: boolean, win: object): {
|
||||
animationend: Record<string, string>;
|
||||
transitionend: Record<string, string>;
|
||||
};
|
||||
export declare function getVendorPrefixedEventName(eventName: string): any;
|
||||
export declare const supportTransition: boolean;
|
||||
export declare const animationEndName: any;
|
||||
export declare const transitionEndName: any;
|
||||
export declare function getTransitionName(transitionName: MotionName, transitionType: string): any;
|
||||
79
frontend/node_modules/rc-motion/lib/util/motion.js
generated
vendored
Normal file
79
frontend/node_modules/rc-motion/lib/util/motion.js
generated
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
"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);
|
||||
}
|
||||
Reference in New Issue
Block a user