rsuite-utils
Version:
29 lines (25 loc) • 980 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
/**
* Returns an object consisting of props beyond the scope of the Component.
* Useful for getting and spreading unknown props from the user.
* @param {function} Component A function or ReactClass.
* @param {object} props A ReactElement props object
* @returns {{}} A shallow copy of the prop object
*/
var getUnhandledProps = function getUnhandledProps(Component, props) {
/**
* Note that `handledProps` are generated automatically during
* build with `babel-plugin-transform-react-flow-handled-props`
*/
var _Component$handledPro = Component.handledProps,
handledProps = _Component$handledPro === undefined ? [] : _Component$handledPro;
return Object.keys(props).reduce(function (acc, prop) {
if (prop === 'childKey') return acc;
if (handledProps.indexOf(prop) === -1) acc[prop] = props[prop];
return acc;
}, {});
};
exports.default = getUnhandledProps;