ultra-design
Version:
24 lines (18 loc) • 732 B
JavaScript
import { assign, assignWith, isUndefined } from 'lodash-es';
import { useContext } from 'react';
import { ConfigContext } from '../config-provider/config-provider.js';
function mergeProps() {
function customizer(objValue, srcValue) {
return isUndefined(srcValue) ? objValue : srcValue;
}
var ret = assign({}, arguments.length <= 0 ? undefined : arguments[0]);
for (var i = 1; i < arguments.length; i++) {
ret = assignWith(ret, i < 0 || arguments.length <= i ? undefined : arguments[i], customizer);
}
return ret;
}
function useMergeProps(defaultProps, props) {
var configContext = useContext(ConfigContext);
return mergeProps(defaultProps, configContext, props);
}
export { mergeProps, useMergeProps };