UNPKG

@appbuckets/react-ui-core

Version:

Core utilities built for AppBuckets React UI Framework

26 lines (23 loc) 729 B
import { __rest } from 'tslib'; import * as React from 'react'; import * as ReactIs from 'react-is'; import RefFindNode from './RefFindNode.js'; import RefForward from './RefForward.js'; function Ref(props) { var children = props.children, innerRef = props.innerRef, rest = __rest(props, ['children', 'innerRef']); var child = React.Children.only(children); var ElementType = ReactIs.isForwardRef(child) ? RefForward : RefFindNode; var childWithProps = child && rest && Object.keys(rest).length > 0 ? React.cloneElement(child, rest) : child; return React.createElement( ElementType, { innerRef: innerRef }, childWithProps ); } Ref.displayName = 'Ref'; export { Ref as default };