Jesus sucks
This commit is contained in:
41
backend/frontend/node_modules/@mui/utils/resolveProps/resolveProps.js
generated
vendored
Normal file
41
backend/frontend/node_modules/@mui/utils/resolveProps/resolveProps.js
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
"use strict";
|
||||
|
||||
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = resolveProps;
|
||||
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||||
/**
|
||||
* Add keys, values of `defaultProps` that does not exist in `props`
|
||||
* @param {object} defaultProps
|
||||
* @param {object} props
|
||||
* @returns {object} resolved props
|
||||
*/
|
||||
function resolveProps(defaultProps, props) {
|
||||
const output = (0, _extends2.default)({}, props);
|
||||
Object.keys(defaultProps).forEach(propName => {
|
||||
if (propName.toString().match(/^(components|slots)$/)) {
|
||||
output[propName] = (0, _extends2.default)({}, defaultProps[propName], output[propName]);
|
||||
} else if (propName.toString().match(/^(componentsProps|slotProps)$/)) {
|
||||
const defaultSlotProps = defaultProps[propName] || {};
|
||||
const slotProps = props[propName];
|
||||
output[propName] = {};
|
||||
if (!slotProps || !Object.keys(slotProps)) {
|
||||
// Reduce the iteration if the slot props is empty
|
||||
output[propName] = defaultSlotProps;
|
||||
} else if (!defaultSlotProps || !Object.keys(defaultSlotProps)) {
|
||||
// Reduce the iteration if the default slot props is empty
|
||||
output[propName] = slotProps;
|
||||
} else {
|
||||
output[propName] = (0, _extends2.default)({}, slotProps);
|
||||
Object.keys(defaultSlotProps).forEach(slotPropName => {
|
||||
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