import React, {FunctionComponent, useState} from 'react' interface Props { children: JSX.Element | Element } export interface InjectedHoverProps { hoverTime: number | null onSetHoverTime: (hoverTime: number | null) => void } const {Provider, Consumer} = React.createContext(null) export const HoverTimeProvider: FunctionComponent = (props: Props) => { const [hoverTime, setHoverTime] = useState(null) const [hoverTimeState] = useState({ hoverTime, onSetHoverTime: (ht: number | null) => setHoverTime(ht), }) return {props.children} } export const withHoverTime =

( Component: React.ComponentType

) => (props: P) => ( {hoverTimeProps => } )