@yamada-ui/react
Version:
React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion
34 lines (30 loc) • 1 kB
JavaScript
"use client";
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
const require_ref = require('../../utils/ref.cjs');
const require_environment_provider = require('../../core/system/environment-provider.cjs');
let react = require("react");
react = require_rolldown_runtime.__toESM(react);
//#region src/hooks/use-window-event/index.ts
/**
* `useWindowEvent` is a custom hook that assigns an event listener to `window`.
*
* @see https://yamada-ui.com/docs/hooks/use-window-event
*/
const useWindowEvent = (ev, handler, options) => {
const { getWindow } = require_environment_provider.useEnvironment();
const listener = require_ref.useCallbackRef(handler);
(0, react.useEffect)(() => {
getWindow()?.addEventListener(ev, listener, options);
return () => {
getWindow()?.removeEventListener(ev, listener, options);
};
}, [
ev,
listener,
options,
getWindow
]);
};
//#endregion
exports.useWindowEvent = useWindowEvent;
//# sourceMappingURL=index.cjs.map