mirror of
https://github.com/idanoo/GoScrobble
synced 2025-07-01 21:52:19 +00:00
0.2.0 - Mid migration
This commit is contained in:
parent
139e6a915e
commit
7e38fdbd7d
42393 changed files with 5358157 additions and 62 deletions
150
web/node_modules/react-transition-group/cjs/utils/ChildMapping.js
generated
vendored
Normal file
150
web/node_modules/react-transition-group/cjs/utils/ChildMapping.js
generated
vendored
Normal file
|
@ -0,0 +1,150 @@
|
|||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.getChildMapping = getChildMapping;
|
||||
exports.mergeChildMappings = mergeChildMappings;
|
||||
exports.getInitialChildMapping = getInitialChildMapping;
|
||||
exports.getNextChildMapping = getNextChildMapping;
|
||||
|
||||
var _react = require("react");
|
||||
|
||||
/**
|
||||
* Given `this.props.children`, return an object mapping key to child.
|
||||
*
|
||||
* @param {*} children `this.props.children`
|
||||
* @return {object} Mapping of key to child
|
||||
*/
|
||||
function getChildMapping(children, mapFn) {
|
||||
var mapper = function mapper(child) {
|
||||
return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;
|
||||
};
|
||||
|
||||
var result = Object.create(null);
|
||||
if (children) _react.Children.map(children, function (c) {
|
||||
return c;
|
||||
}).forEach(function (child) {
|
||||
// run the map function here instead so that the key is the computed one
|
||||
result[child.key] = mapper(child);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* When you're adding or removing children some may be added or removed in the
|
||||
* same render pass. We want to show *both* since we want to simultaneously
|
||||
* animate elements in and out. This function takes a previous set of keys
|
||||
* and a new set of keys and merges them with its best guess of the correct
|
||||
* ordering. In the future we may expose some of the utilities in
|
||||
* ReactMultiChild to make this easy, but for now React itself does not
|
||||
* directly have this concept of the union of prevChildren and nextChildren
|
||||
* so we implement it here.
|
||||
*
|
||||
* @param {object} prev prev children as returned from
|
||||
* `ReactTransitionChildMapping.getChildMapping()`.
|
||||
* @param {object} next next children as returned from
|
||||
* `ReactTransitionChildMapping.getChildMapping()`.
|
||||
* @return {object} a key set that contains all keys in `prev` and all keys
|
||||
* in `next` in a reasonable order.
|
||||
*/
|
||||
|
||||
|
||||
function mergeChildMappings(prev, next) {
|
||||
prev = prev || {};
|
||||
next = next || {};
|
||||
|
||||
function getValueForKey(key) {
|
||||
return key in next ? next[key] : prev[key];
|
||||
} // For each key of `next`, the list of keys to insert before that key in
|
||||
// the combined list
|
||||
|
||||
|
||||
var nextKeysPending = Object.create(null);
|
||||
var pendingKeys = [];
|
||||
|
||||
for (var prevKey in prev) {
|
||||
if (prevKey in next) {
|
||||
if (pendingKeys.length) {
|
||||
nextKeysPending[prevKey] = pendingKeys;
|
||||
pendingKeys = [];
|
||||
}
|
||||
} else {
|
||||
pendingKeys.push(prevKey);
|
||||
}
|
||||
}
|
||||
|
||||
var i;
|
||||
var childMapping = {};
|
||||
|
||||
for (var nextKey in next) {
|
||||
if (nextKeysPending[nextKey]) {
|
||||
for (i = 0; i < nextKeysPending[nextKey].length; i++) {
|
||||
var pendingNextKey = nextKeysPending[nextKey][i];
|
||||
childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);
|
||||
}
|
||||
}
|
||||
|
||||
childMapping[nextKey] = getValueForKey(nextKey);
|
||||
} // Finally, add the keys which didn't appear before any key in `next`
|
||||
|
||||
|
||||
for (i = 0; i < pendingKeys.length; i++) {
|
||||
childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);
|
||||
}
|
||||
|
||||
return childMapping;
|
||||
}
|
||||
|
||||
function getProp(child, prop, props) {
|
||||
return props[prop] != null ? props[prop] : child.props[prop];
|
||||
}
|
||||
|
||||
function getInitialChildMapping(props, onExited) {
|
||||
return getChildMapping(props.children, function (child) {
|
||||
return (0, _react.cloneElement)(child, {
|
||||
onExited: onExited.bind(null, child),
|
||||
in: true,
|
||||
appear: getProp(child, 'appear', props),
|
||||
enter: getProp(child, 'enter', props),
|
||||
exit: getProp(child, 'exit', props)
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getNextChildMapping(nextProps, prevChildMapping, onExited) {
|
||||
var nextChildMapping = getChildMapping(nextProps.children);
|
||||
var children = mergeChildMappings(prevChildMapping, nextChildMapping);
|
||||
Object.keys(children).forEach(function (key) {
|
||||
var child = children[key];
|
||||
if (!(0, _react.isValidElement)(child)) return;
|
||||
var hasPrev = (key in prevChildMapping);
|
||||
var hasNext = (key in nextChildMapping);
|
||||
var prevChild = prevChildMapping[key];
|
||||
var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)
|
||||
|
||||
if (hasNext && (!hasPrev || isLeaving)) {
|
||||
// console.log('entering', key)
|
||||
children[key] = (0, _react.cloneElement)(child, {
|
||||
onExited: onExited.bind(null, child),
|
||||
in: true,
|
||||
exit: getProp(child, 'exit', nextProps),
|
||||
enter: getProp(child, 'enter', nextProps)
|
||||
});
|
||||
} else if (!hasNext && hasPrev && !isLeaving) {
|
||||
// item is old (exiting)
|
||||
// console.log('leaving', key)
|
||||
children[key] = (0, _react.cloneElement)(child, {
|
||||
in: false
|
||||
});
|
||||
} else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {
|
||||
// item hasn't changed transition states
|
||||
// copy over the last transition props;
|
||||
// console.log('unchanged', key)
|
||||
children[key] = (0, _react.cloneElement)(child, {
|
||||
onExited: onExited.bind(null, child),
|
||||
in: prevChild.props.in,
|
||||
exit: getProp(child, 'exit', nextProps),
|
||||
enter: getProp(child, 'enter', nextProps)
|
||||
});
|
||||
}
|
||||
});
|
||||
return children;
|
||||
}
|
28
web/node_modules/react-transition-group/cjs/utils/PropTypes.js
generated
vendored
Normal file
28
web/node_modules/react-transition-group/cjs/utils/PropTypes.js
generated
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.classNamesShape = exports.timeoutsShape = void 0;
|
||||
|
||||
var _propTypes = _interopRequireDefault(require("prop-types"));
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({
|
||||
enter: _propTypes.default.number,
|
||||
exit: _propTypes.default.number,
|
||||
appear: _propTypes.default.number
|
||||
}).isRequired]) : null;
|
||||
exports.timeoutsShape = timeoutsShape;
|
||||
var classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({
|
||||
enter: _propTypes.default.string,
|
||||
exit: _propTypes.default.string,
|
||||
active: _propTypes.default.string
|
||||
}), _propTypes.default.shape({
|
||||
enter: _propTypes.default.string,
|
||||
enterDone: _propTypes.default.string,
|
||||
enterActive: _propTypes.default.string,
|
||||
exit: _propTypes.default.string,
|
||||
exitDone: _propTypes.default.string,
|
||||
exitActive: _propTypes.default.string
|
||||
})]) : null;
|
||||
exports.classNamesShape = classNamesShape;
|
37
web/node_modules/react-transition-group/cjs/utils/SimpleSet.js
generated
vendored
Normal file
37
web/node_modules/react-transition-group/cjs/utils/SimpleSet.js
generated
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
"use strict";
|
||||
|
||||
exports.__esModule = true;
|
||||
exports.default = void 0;
|
||||
|
||||
var SimpleSet = /*#__PURE__*/function () {
|
||||
function SimpleSet() {
|
||||
this.v = [];
|
||||
}
|
||||
|
||||
var _proto = SimpleSet.prototype;
|
||||
|
||||
_proto.clear = function clear() {
|
||||
this.v.length = 0;
|
||||
};
|
||||
|
||||
_proto.has = function has(k) {
|
||||
return this.v.indexOf(k) !== -1;
|
||||
};
|
||||
|
||||
_proto.add = function add(k) {
|
||||
if (this.has(k)) return;
|
||||
this.v.push(k);
|
||||
};
|
||||
|
||||
_proto.delete = function _delete(k) {
|
||||
var idx = this.v.indexOf(k);
|
||||
if (idx === -1) return false;
|
||||
this.v.splice(idx, 1);
|
||||
return true;
|
||||
};
|
||||
|
||||
return SimpleSet;
|
||||
}();
|
||||
|
||||
exports.default = SimpleSet;
|
||||
module.exports = exports.default;
|
Loading…
Add table
Add a link
Reference in a new issue