UNPKG

@dossierhq/design

Version:

The design system for Dossier.

21 lines 724 B
'use client'; import { useEffect, useRef } from 'react'; export function useEventListener(target, type, listener, options) { const listenerRef = useRef(null); listenerRef.current = listener; useEffect(() => { const actualListener = (event) => { if (typeof listenerRef.current === 'object') { listenerRef.current?.handleEvent(event); } else { listenerRef.current?.(event); } }; target.addEventListener(type, actualListener, options); return () => { target.removeEventListener(type, actualListener); }; }, [target, type, options]); } //# sourceMappingURL=useEventListener.js.map