@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
41 lines (31 loc) • 1.16 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useDefaultProps = useDefaultProps;
exports.withDefaultProps = withDefaultProps;
var React = _interopRequireWildcard(require("react"));
var _getThemeProps = _interopRequireDefault(require("@material-ui/styles/getThemeProps"));
var _styles = require("@material-ui/core/styles");
function useDefaultProps(props, {
name
}) {
const theme = (0, _styles.useTheme)();
return (0, _getThemeProps.default)({
props,
theme,
name
});
}
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;
}