import React, { JSX } from 'react'; import { isRenderProps, RenderProps } from '../isRenderProps'; import { StateProps } from './StateProps'; import { useStyles } from './Styles'; interface Props { props: T; children: JSX.Element | RenderProps; } export const State = ({ props, children, ...rest }: Props) => { const styles = useStyles(); const Specimen = isRenderProps(children) ? children(props) : React.cloneElement(children, props); const innerChildren = isRenderProps(children) ? children(props) : children; return (
{Specimen} {innerChildren}
); };