28 lines
No EOL
962 B
JavaScript
28 lines
No EOL
962 B
JavaScript
import isHostComponent from "../isHostComponent/index.js";
|
|
|
|
/**
|
|
* Type of the ownerState based on the type of an element it applies to.
|
|
* This resolves to the provided OwnerState for React components and `undefined` for host components.
|
|
* Falls back to `OwnerState | undefined` when the exact type can't be determined in development time.
|
|
*/
|
|
|
|
/**
|
|
* Appends the ownerState object to the props, merging with the existing one if necessary.
|
|
*
|
|
* @param elementType Type of the element that owns the `existingProps`. If the element is a DOM node or undefined, `ownerState` is not applied.
|
|
* @param otherProps Props of the element.
|
|
* @param ownerState
|
|
*/
|
|
function appendOwnerState(elementType, otherProps, ownerState) {
|
|
if (elementType === undefined || isHostComponent(elementType)) {
|
|
return otherProps;
|
|
}
|
|
return {
|
|
...otherProps,
|
|
ownerState: {
|
|
...otherProps.ownerState,
|
|
...ownerState
|
|
}
|
|
};
|
|
}
|
|
export default appendOwnerState; |