UNPKG

@material-ui/lab

Version:

Material-UI Lab - Incubator for Material-UI React components.

25 lines (23 loc) 752 B
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; }