import isBrowser from '../isBrowser'; import { useEventHandler, EventHandler } from './event-handler'; export interface IWindowEventHandlerProps { eventName: K; listener(ev: WindowEventMap[K]): void; options?: AddEventListenerOptions; } export function useWindowEventHandler( eventName: K, listener: (ev: WindowEventMap[K]) => void, options?: AddEventListenerOptions ) { if (!isBrowser) { return; } // eslint-disable-next-line react-hooks/rules-of-hooks return useEventHandler(window, eventName, listener, options); } export function WindowEventHandler({ eventName, listener, options, }: IWindowEventHandlerProps) { if (!isBrowser) { return null; } return ( ); } export default WindowEventHandler;