@mui/utils
Advanced tools
Comparing version 6.0.0-beta.5 to 6.0.0-beta.6
/** | ||
* Add keys, values of `defaultProps` that does not exist in `props` | ||
* @param {object} defaultProps | ||
* @param {object} props | ||
* @returns {object} resolved props | ||
* @param defaultProps | ||
* @param props | ||
* @returns resolved props | ||
*/ | ||
@@ -11,31 +11,34 @@ export default function resolveProps(defaultProps, props) { | ||
}; | ||
Object.keys(defaultProps).forEach(propName => { | ||
if (propName.toString().match(/^(components|slots)$/)) { | ||
output[propName] = { | ||
...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 { | ||
for (const key in defaultProps) { | ||
if (Object.prototype.hasOwnProperty.call(defaultProps, key)) { | ||
const propName = key; | ||
if (propName === 'components' || propName === 'slots') { | ||
output[propName] = { | ||
...slotProps | ||
...defaultProps[propName], | ||
...output[propName] | ||
}; | ||
Object.keys(defaultSlotProps).forEach(slotPropName => { | ||
output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]); | ||
}); | ||
} 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]; | ||
} | ||
} else if (output[propName] === undefined) { | ||
output[propName] = defaultProps[propName]; | ||
} | ||
}); | ||
} | ||
return output; | ||
} |
/** | ||
* @mui/utils v6.0.0-beta.5 | ||
* @mui/utils v6.0.0-beta.6 | ||
* | ||
@@ -4,0 +4,0 @@ * @license MIT |
@@ -11,7 +11,7 @@ "use strict"; | ||
function isMuiElement(element, muiNames) { | ||
var _muiName, _element$type; | ||
return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf( // For server components `muiName` is avaialble in element.type._payload.value.muiName | ||
return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf( | ||
// For server components `muiName` is avaialble in element.type._payload.value.muiName | ||
// relevant info - https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react/src/ReactLazy.js#L45 | ||
// eslint-disable-next-line no-underscore-dangle | ||
(_muiName = element.type.muiName) != null ? _muiName : (_element$type = element.type) == null || (_element$type = _element$type._payload) == null || (_element$type = _element$type.value) == null ? void 0 : _element$type.muiName) !== -1; | ||
element.type.muiName ?? element.type?._payload?.value?.muiName) !== -1; | ||
} |
@@ -35,7 +35,7 @@ "use strict"; | ||
// so we can simply merge all the props without having to worry about extracting event handlers. | ||
const joinedClasses = (0, _clsx.default)(additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className); | ||
const joinedClasses = (0, _clsx.default)(additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className); | ||
const mergedStyle = { | ||
...(additionalProps == null ? void 0 : additionalProps.style), | ||
...(externalForwardedProps == null ? void 0 : externalForwardedProps.style), | ||
...(externalSlotProps == null ? void 0 : externalSlotProps.style) | ||
...additionalProps?.style, | ||
...externalForwardedProps?.style, | ||
...externalSlotProps?.style | ||
}; | ||
@@ -74,8 +74,8 @@ const props = { | ||
// (see https://github.com/mui/material-ui/pull/33205) for the related discussion. | ||
const joinedClasses = (0, _clsx.default)(internalSlotProps == null ? void 0 : internalSlotProps.className, additionalProps == null ? void 0 : additionalProps.className, className, externalForwardedProps == null ? void 0 : externalForwardedProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className); | ||
const joinedClasses = (0, _clsx.default)(internalSlotProps?.className, additionalProps?.className, className, externalForwardedProps?.className, externalSlotProps?.className); | ||
const mergedStyle = { | ||
...(internalSlotProps == null ? void 0 : internalSlotProps.style), | ||
...(additionalProps == null ? void 0 : additionalProps.style), | ||
...(externalForwardedProps == null ? void 0 : externalForwardedProps.style), | ||
...(externalSlotProps == null ? void 0 : externalSlotProps.style) | ||
...internalSlotProps?.style, | ||
...additionalProps?.style, | ||
...externalForwardedProps?.style, | ||
...externalSlotProps?.style | ||
}; | ||
@@ -82,0 +82,0 @@ const props = { |
/** | ||
* @mui/utils v6.0.0-beta.5 | ||
* @mui/utils v6.0.0-beta.6 | ||
* | ||
@@ -4,0 +4,0 @@ * @license MIT |
/** | ||
* Add keys, values of `defaultProps` that does not exist in `props` | ||
* @param {object} defaultProps | ||
* @param {object} props | ||
* @returns {object} resolved props | ||
* @param defaultProps | ||
* @param props | ||
* @returns resolved props | ||
*/ | ||
@@ -11,31 +11,34 @@ export default function resolveProps(defaultProps, props) { | ||
}; | ||
Object.keys(defaultProps).forEach(propName => { | ||
if (propName.toString().match(/^(components|slots)$/)) { | ||
output[propName] = { | ||
...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 { | ||
for (const key in defaultProps) { | ||
if (Object.prototype.hasOwnProperty.call(defaultProps, key)) { | ||
const propName = key; | ||
if (propName === 'components' || propName === 'slots') { | ||
output[propName] = { | ||
...slotProps | ||
...defaultProps[propName], | ||
...output[propName] | ||
}; | ||
Object.keys(defaultSlotProps).forEach(slotPropName => { | ||
output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]); | ||
}); | ||
} 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]; | ||
} | ||
} else if (output[propName] === undefined) { | ||
output[propName] = defaultProps[propName]; | ||
} | ||
}); | ||
} | ||
return output; | ||
} |
{ | ||
"name": "@mui/utils", | ||
"version": "6.0.0-beta.5", | ||
"version": "6.0.0-beta.6", | ||
"private": false, | ||
@@ -34,7 +34,7 @@ "author": "MUI Team", | ||
"react-is": "^18.3.1", | ||
"@mui/types": "^7.2.14" | ||
"@mui/types": "^7.2.15" | ||
}, | ||
"peerDependencies": { | ||
"@types/react": "^17.0.0 || ^18.0.0", | ||
"react": "^17.0.0 || ^18.0.0" | ||
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", | ||
"react": "^17.0.0 || ^18.0.0 || ^19.0.0" | ||
}, | ||
@@ -52,3 +52,3 @@ "peerDependenciesMeta": { | ||
"engines": { | ||
"node": ">=12.0.0" | ||
"node": ">=14.0.0" | ||
}, | ||
@@ -55,0 +55,0 @@ "module": "./esm/index.js", |
@@ -18,3 +18,3 @@ "use strict"; | ||
const propFullNameSafe = propFullName || propName; | ||
const defaultTypeChecker = prevPropTypes == null ? void 0 : prevPropTypes[propFullNameSafe]; | ||
const defaultTypeChecker = prevPropTypes?.[propFullNameSafe]; | ||
if (defaultTypeChecker) { | ||
@@ -21,0 +21,0 @@ const typeCheckerResult = defaultTypeChecker(props, propName, componentName, location, propFullName, ...args); |
/** | ||
* Add keys, values of `defaultProps` that does not exist in `props` | ||
* @param {object} defaultProps | ||
* @param {object} props | ||
* @returns {object} resolved props | ||
* @param defaultProps | ||
* @param props | ||
* @returns resolved props | ||
*/ | ||
@@ -7,0 +7,0 @@ export default function resolveProps<T extends { |
@@ -9,5 +9,5 @@ "use strict"; | ||
* Add keys, values of `defaultProps` that does not exist in `props` | ||
* @param {object} defaultProps | ||
* @param {object} props | ||
* @returns {object} resolved props | ||
* @param defaultProps | ||
* @param props | ||
* @returns resolved props | ||
*/ | ||
@@ -18,31 +18,34 @@ function resolveProps(defaultProps, props) { | ||
}; | ||
Object.keys(defaultProps).forEach(propName => { | ||
if (propName.toString().match(/^(components|slots)$/)) { | ||
output[propName] = { | ||
...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 { | ||
for (const key in defaultProps) { | ||
if (Object.prototype.hasOwnProperty.call(defaultProps, key)) { | ||
const propName = key; | ||
if (propName === 'components' || propName === 'slots') { | ||
output[propName] = { | ||
...slotProps | ||
...defaultProps[propName], | ||
...output[propName] | ||
}; | ||
Object.keys(defaultSlotProps).forEach(slotPropName => { | ||
output[propName][slotPropName] = resolveProps(defaultSlotProps[slotPropName], slotProps[slotPropName]); | ||
}); | ||
} 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]; | ||
} | ||
} else if (output[propName] === undefined) { | ||
output[propName] = defaultProps[propName]; | ||
} | ||
}); | ||
} | ||
return output; | ||
} |
@@ -39,3 +39,3 @@ "use strict"; | ||
const reactId = maybeReactUseId(); | ||
return idOverride != null ? idOverride : reactId; | ||
return idOverride ?? reactId; | ||
} | ||
@@ -42,0 +42,0 @@ // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler |
@@ -99,6 +99,3 @@ "use strict"; | ||
const subscribeKey = React.useCallback(callbark => subscribe(area, key, callbark), [area, key]); | ||
const getKeySnapshot = React.useCallback(() => { | ||
var _getSnapshot; | ||
return (_getSnapshot = getSnapshot(area, key)) != null ? _getSnapshot : initialValue; | ||
}, [area, initialValue, key]); | ||
const getKeySnapshot = React.useCallback(() => getSnapshot(area, key) ?? initialValue, [area, initialValue, key]); | ||
@@ -105,0 +102,0 @@ // Start with null for the hydration, and then switch to the actual value. |
@@ -22,3 +22,2 @@ "use strict"; | ||
function useSlotProps(parameters) { | ||
var _parameters$additiona; | ||
const { | ||
@@ -39,3 +38,3 @@ elementType, | ||
}); | ||
const ref = (0, _useForkRef.default)(internalRef, resolvedComponentsProps == null ? void 0 : resolvedComponentsProps.ref, (_parameters$additiona = parameters.additionalProps) == null ? void 0 : _parameters$additiona.ref); | ||
const ref = (0, _useForkRef.default)(internalRef, resolvedComponentsProps?.ref, parameters.additionalProps?.ref); | ||
const props = (0, _appendOwnerState.default)(elementType, { | ||
@@ -42,0 +41,0 @@ ...mergedProps, |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1066885
5016
Updated@mui/types@^7.2.15