{"version":3,"file":"use-window-event.mjs","names":[],"sources":["../../src/use-window-event/use-window-event.ts"],"sourcesContent":["import { useEffect, useEffectEvent } from 'react';\n\nexport function useWindowEvent<K extends string>(\n  type: K,\n  listener: K extends keyof WindowEventMap\n    ? (this: Window, ev: WindowEventMap[K]) => void\n    : (this: Window, ev: CustomEvent) => void,\n  options?: boolean | AddEventListenerOptions\n) {\n  const stableListener = useEffectEvent(listener);\n\n  useEffect(() => {\n    window.addEventListener(type as any, stableListener, options);\n    return () => window.removeEventListener(type as any, stableListener, options);\n  }, [type]);\n}\n"],"mappings":";;;AAEA,SAAgB,eACd,MACA,UAGA,SACA;CACA,MAAM,iBAAiB,eAAe,SAAS;AAE/C,iBAAgB;AACd,SAAO,iBAAiB,MAAa,gBAAgB,QAAQ;AAC7D,eAAa,OAAO,oBAAoB,MAAa,gBAAgB,QAAQ;IAC5E,CAAC,KAAK,CAAC"}