@mui/styles
Version:
MUI Styles - The styling solution of MUI.
27 lines (20 loc) • 810 B
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
/* eslint-disable no-restricted-syntax */
export default function getThemeProps(params) {
var theme = params.theme,
name = params.name,
props = params.props;
if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {
return props;
}
var output = _extends({}, props); // Resolve default props, code borrow from React source.
// https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221
var defaultProps = theme.components[name].defaultProps;
var propName;
for (propName in defaultProps) {
if (output[propName] === undefined) {
output[propName] = defaultProps[propName];
}
}
return output;
}