import * as PropTypes from 'prop-types'; import * as React from 'react'; import { NestingChild } from './NestingChild'; import { NestingContext } from './NestingContext'; import { NestingRoot } from './NestingRoot'; import { NestingProps } from './types'; export const NestingAuto: React.FC = props => ( {contextValue => { const hasContext = !!contextValue; const Component = hasContext ? NestingChild : NestingRoot; return React.createElement(Component, props); }} ); NestingAuto.displayName = 'NestingAuto'; NestingAuto.propTypes = { children: PropTypes.func.isRequired, };