@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
25 lines (23 loc) • 752 B
JavaScript
import * as React from 'react';
import getThemeProps from '@material-ui/styles/getThemeProps';
import { useTheme } from '@material-ui/core/styles';
export function useDefaultProps(props, {
name
}) {
const theme = useTheme();
return getThemeProps({
props,
theme,
name
});
}
export function withDefaultProps(componentConfig, Component) {
const componentName = componentConfig.name.replace('Mui', '');
const WithDefaultProps = props => {
Component.displayName = componentName;
const propsWithDefault = useDefaultProps(props, componentConfig);
return /*#__PURE__*/React.createElement(Component, propsWithDefault);
};
WithDefaultProps.displayName = `WithDefaultProps(${componentName})`;
return WithDefaultProps;
}