paradiego
This commit is contained in:
49
node_modules/@mui/utils/resolveProps/resolveProps.js
generated
vendored
Normal file
49
node_modules/@mui/utils/resolveProps/resolveProps.js
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = resolveProps;
|
||||
/**
|
||||
* Add keys, values of `defaultProps` that does not exist in `props`
|
||||
* @param defaultProps
|
||||
* @param props
|
||||
* @returns resolved props
|
||||
*/
|
||||
function resolveProps(defaultProps, props) {
|
||||
const output = {
|
||||
...props
|
||||
};
|
||||
for (const key in defaultProps) {
|
||||
if (Object.prototype.hasOwnProperty.call(defaultProps, key)) {
|
||||
const propName = key;
|
||||
if (propName === 'components' || propName === 'slots') {
|
||||
output[propName] = {
|
||||
...defaultProps[propName],
|
||||
...output[propName]
|
||||
};
|
||||
} else if (propName === 'componentsProps' || propName === 'slotProps') {
|
||||
const defaultSlotProps = defaultProps[propName];
|
||||
const slotProps = props[propName];
|
||||
if (!slotProps) {
|
||||
output[propName] = defaultSlotProps || {};
|
||||
} else if (!defaultSlotProps) {
|
||||
output[propName] = slotProps;
|
||||
} else {
|
||||
output[propName] = {
|
||||
...slotProps
|
||||
};
|
||||
for (const slotKey in defaultSlotProps) {
|
||||
if (Object.prototype.hasOwnProperty.call(defaultSlotProps, slotKey)) {
|
||||
const slotPropName = slotKey;
|
||||
output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (output[propName] === undefined) {
|
||||
output[propName] = defaultProps[propName];
|
||||
}
|
||||
}
|
||||
}
|
||||
return output;
|
||||
}
|
||||
Reference in New Issue
Block a user