@mui/styles
Version:
MUI Styles - The legacy JSS-based styling solution of Material UI.
24 lines (23 loc) • 681 B
JavaScript
export default function getThemeProps(params) {
const {
theme,
name,
props
} = params;
if (!theme || !theme.components || !theme.components[name] || !theme.components[name].defaultProps) {
return props;
}
const output = {
...props
};
// Resolve default props, code borrow from React source.
// https://github.com/facebook/react/blob/15a8f031838a553e41c0b66eb1bcf1da8448104d/packages/react/src/ReactElement.js#L221
const defaultProps = theme.components[name].defaultProps;
let propName;
for (propName in defaultProps) {
if (output[propName] === undefined) {
output[propName] = defaultProps[propName];
}
}
return output;
}