Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 1x 2x 2x 2x 1x 1x | import {cloneElement, forwardRef} from 'react' import PropTypes from 'prop-types' import useMergeRefs from '@s-ui/react-hooks/lib/useMergeRefs' import {getChildrenAsReactNode} from './config.js' const PopoverExtendChildren = forwardRef((props, forwardedRef) => { const childrenOnly = getChildrenAsReactNode(props.children) const {ref} = childrenOnly return cloneElement(childrenOnly, { ref: useMergeRefs(forwardedRef, ref) }) }) PopoverExtendChildren.displayName = 'PopoverExtendChildren' PopoverExtendChildren.propTypes = { children: PropTypes.element.isRequired } export default PopoverExtendChildren |