UNPKG

ultra-design

Version:
24 lines (18 loc) 732 B
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 };