@gravity-ui/uikit
Version:
Gravity UI base styling and components
23 lines (22 loc) • 767 B
JavaScript
import * as React from 'react';
import { PrivateDefaultPropsContext } from "./PrivateDefaultPropsProvider.js";
export function useDefaultProps(componentName, componentProps) {
const ctx = React.useContext(PrivateDefaultPropsContext);
const defaultProps = ctx[componentName];
if (!defaultProps) {
return componentProps;
}
const cleanedProps = {};
for (const k in componentProps) {
if (componentProps[k] !== undefined) {
cleanedProps[k] = componentProps[k];
}
}
return [defaultProps, cleanedProps].reduce((acc, props) => {
for (const [key, value] of Object.entries(props)) {
acc[key] = value;
}
return acc;
}, {});
}
//# sourceMappingURL=useDefaultProps.js.map