Buckets:
| 'use client'; | |
| import useForkRef from "../useForkRef/index.js"; | |
| import appendOwnerState from "../appendOwnerState/index.js"; | |
| import mergeSlotProps from "../mergeSlotProps/index.js"; | |
| import resolveComponentProps from "../resolveComponentProps/index.js"; | |
| /** | |
| * @ignore - do not document. | |
| * Builds the props to be passed into the slot of an unstyled component. | |
| * It merges the internal props of the component with the ones supplied by the user, allowing to customize the behavior. | |
| * If the slot component is not a host component, it also merges in the `ownerState`. | |
| * | |
| * @param parameters.getSlotProps - A function that returns the props to be passed to the slot component. | |
| */ | |
| function useSlotProps(parameters) { | |
| const { | |
| elementType, | |
| externalSlotProps, | |
| ownerState, | |
| skipResolvingSlotProps = false, | |
| ...other | |
| } = parameters; | |
| const resolvedComponentsProps = skipResolvingSlotProps ? {} : resolveComponentProps(externalSlotProps, ownerState); | |
| const { | |
| props: mergedProps, | |
| internalRef | |
| } = mergeSlotProps({ | |
| ...other, | |
| externalSlotProps: resolvedComponentsProps | |
| }); | |
| const ref = useForkRef(internalRef, resolvedComponentsProps?.ref, parameters.additionalProps?.ref); | |
| const props = appendOwnerState(elementType, { | |
| ...mergedProps, | |
| ref | |
| }, ownerState); | |
| return props; | |
| } | |
| export default useSlotProps; |
Xet Storage Details
- Size:
- 1.35 kB
- Xet hash:
- bcd1980af3c7aeed684afa9ffc797751d945f39d3bca2db61faa4175fef2d4bf
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.