🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

react-lite-hooks

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-lite-hooks - npm Package Compare versions

Comparing version
2.2.0
to
2.3.0
+8
dist/useHover.d.ts
import { RefObject } from "react";
/**
* Tracks whether an element is being hovered.
*
* @returns A tuple containing the ref to attach to the element and the boolean hover state.
*/
export declare function useHover<T extends HTMLElement>(): [RefObject<T | null>, boolean];
//# sourceMappingURL=useHover.d.ts.map
{"version":3,"file":"useHover.d.ts","sourceRoot":"","sources":["../src/useHover.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,SAAS,EAAE,MAAM,OAAO,CAAC;AAE/D;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,WAAW,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAqBhF"}
/**
* A declarative hook for setting intervals.
* Handles the "stale closure" problem automatically.
*
* @param callback - The function to call at each interval
* @param delay - The delay in milliseconds (or null to stop the interval)
*/
export declare function useInterval(callback: () => void, delay: number | null): void;
//# sourceMappingURL=useInterval.d.ts.map
{"version":3,"file":"useInterval.d.ts","sourceRoot":"","sources":["../src/useInterval.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,QAerE"}
/**
* Returns true only on the first render of the component.
* Useful for running effects only once or for analytics.
*
* @returns boolean
*/
export declare function useIsFirstRender(): boolean;
//# sourceMappingURL=useIsFirstRender.d.ts.map
{"version":3,"file":"useIsFirstRender.d.ts","sourceRoot":"","sources":["../src/useIsFirstRender.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAS1C"}
/**
* Detects when a specific key is pressed.
*
* @param targetKey - The key to listen for (e.g., "h", "Escape", "Enter")
* @returns Boolean indicating if the key is currently pressed
*/
export declare function useKeyPress(targetKey: string): boolean;
//# sourceMappingURL=useKeyPress.d.ts.map
{"version":3,"file":"useKeyPress.d.ts","sourceRoot":"","sources":["../src/useKeyPress.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CA0BtD"}
/**
* A declarative hook for setting timeouts.
*
* @param callback - The function to call after the delay
* @param delay - The delay in milliseconds (or null to cancel)
*/
export declare function useTimeout(callback: () => void, delay: number | null): void;
//# sourceMappingURL=useTimeout.d.ts.map
{"version":3,"file":"useTimeout.d.ts","sourceRoot":"","sources":["../src/useTimeout.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,QAepE"}
+41
-1

@@ -72,2 +72,42 @@ import { Dispatch, SetStateAction, RefObject } from 'react';

export { useClipboard, useDebounce, useEventListener, useMediaQuery, useOnClickOutside, useOnScreen, usePersistentState, usePrevious, useToggle, useWindowSize };
/**
* Tracks whether an element is being hovered.
*
* @returns A tuple containing the ref to attach to the element and the boolean hover state.
*/
declare function useHover<T extends HTMLElement>(): [RefObject<T | null>, boolean];
/**
* A declarative hook for setting intervals.
* Handles the "stale closure" problem automatically.
*
* @param callback - The function to call at each interval
* @param delay - The delay in milliseconds (or null to stop the interval)
*/
declare function useInterval(callback: () => void, delay: number | null): void;
/**
* Detects when a specific key is pressed.
*
* @param targetKey - The key to listen for (e.g., "h", "Escape", "Enter")
* @returns Boolean indicating if the key is currently pressed
*/
declare function useKeyPress(targetKey: string): boolean;
/**
* Returns true only on the first render of the component.
* Useful for running effects only once or for analytics.
*
* @returns boolean
*/
declare function useIsFirstRender(): boolean;
/**
* A declarative hook for setting timeouts.
*
* @param callback - The function to call after the delay
* @param delay - The delay in milliseconds (or null to cancel)
*/
declare function useTimeout(callback: () => void, delay: number | null): void;
export { useClipboard, useDebounce, useEventListener, useHover, useInterval, useIsFirstRender, useKeyPress, useMediaQuery, useOnClickOutside, useOnScreen, usePersistentState, usePrevious, useTimeout, useToggle, useWindowSize };
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}

@@ -246,3 +246,114 @@ import { useState, useEffect, useRef, useCallback } from 'react';

export { useClipboard, useDebounce, useEventListener, useMediaQuery, useOnClickOutside, useOnScreen, usePersistentState, usePrevious, useToggle, useWindowSize };
/**
* Tracks whether an element is being hovered.
*
* @returns A tuple containing the ref to attach to the element and the boolean hover state.
*/
function useHover() {
const [value, setValue] = useState(false);
const ref = useRef(null);
const handleMouseOver = () => setValue(true);
const handleMouseOut = () => setValue(false);
useEffect(() => {
const node = ref.current;
if (node) {
node.addEventListener("mouseover", handleMouseOver);
node.addEventListener("mouseout", handleMouseOut);
return () => {
node.removeEventListener("mouseover", handleMouseOver);
node.removeEventListener("mouseout", handleMouseOut);
};
}
}, []);
return [ref, value];
}
/**
* A declarative hook for setting intervals.
* Handles the "stale closure" problem automatically.
*
* @param callback - The function to call at each interval
* @param delay - The delay in milliseconds (or null to stop the interval)
*/
function useInterval(callback, delay) {
const savedCallback = useRef(callback);
// Remember the latest callback.
useEffect(() => {
savedCallback.current = callback;
}, [callback]);
// Set up the interval.
useEffect(() => {
if (delay !== null) {
const id = setInterval(() => savedCallback.current(), delay);
return () => clearInterval(id);
}
}, [delay]);
}
/**
* Detects when a specific key is pressed.
*
* @param targetKey - The key to listen for (e.g., "h", "Escape", "Enter")
* @returns Boolean indicating if the key is currently pressed
*/
function useKeyPress(targetKey) {
const [keyPressed, setKeyPressed] = useState(false);
useEffect(() => {
const downHandler = ({ key }) => {
if (key === targetKey) {
setKeyPressed(true);
}
};
const upHandler = ({ key }) => {
if (key === targetKey) {
setKeyPressed(false);
}
};
window.addEventListener("keydown", downHandler);
window.addEventListener("keyup", upHandler);
return () => {
window.removeEventListener("keydown", downHandler);
window.removeEventListener("keyup", upHandler);
};
}, [targetKey]);
return keyPressed;
}
/**
* Returns true only on the first render of the component.
* Useful for running effects only once or for analytics.
*
* @returns boolean
*/
function useIsFirstRender() {
const isFirst = useRef(true);
if (isFirst.current) {
isFirst.current = false;
return true;
}
return false;
}
/**
* A declarative hook for setting timeouts.
*
* @param callback - The function to call after the delay
* @param delay - The delay in milliseconds (or null to cancel)
*/
function useTimeout(callback, delay) {
const savedCallback = useRef(callback);
// Remember the latest callback.
useEffect(() => {
savedCallback.current = callback;
}, [callback]);
// Set up the timeout.
useEffect(() => {
if (delay !== null) {
const id = setTimeout(() => savedCallback.current(), delay);
return () => clearTimeout(id);
}
}, [delay]);
}
export { useClipboard, useDebounce, useEventListener, useHover, useInterval, useIsFirstRender, useKeyPress, useMediaQuery, useOnClickOutside, useOnScreen, usePersistentState, usePrevious, useTimeout, useToggle, useWindowSize };
//# sourceMappingURL=index.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sources":["../src/usePersistentState.ts","../src/useOnScreen.ts","../src/useClipboard.ts","../src/useMediaQuery.ts","../src/useToggle.ts","../src/useDebounce.ts","../src/useOnClickOutside.ts","../src/useWindowSize.ts","../src/usePrevious.ts","../src/useEventListener.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;AAEM,SAAU,kBAAkB,CAChC,GAAW,EACX,YAAe,EACf,OAAA,GAAmB,MAAM,CAAC,YAAY,EAAA;IAEtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAI,MAAK;AACzC,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACjC,YAAA,OAAO,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAO,GAAG,YAAY;QACtD;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,YAAY;QACrB;AACF,IAAA,CAAC,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,IAAI;AACF,YAAA,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;;AAE3C,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D;QAAE,OAAO,KAAc,EAAE;;AAEvB,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;QAC5C;IACF,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEzB,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,aAAa,GAAG,CAAC,CAAe,KAAI;AACxC,YAAA,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;AACjB,gBAAA,IAAI;oBACF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACjC,oBAAA,IAAI,IAAI;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;gBAC3C;gBAAE,OAAO,KAAc,EAAE;;AAEvB,oBAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;gBAC5C;YACF;AACF,QAAA,CAAC;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;QACjD,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AACnE,IAAA,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAElB,IAAA,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1B;;AC1CM,SAAU,WAAW,CACzB,OAAkC,EAAA;AAElC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC;IAC3B,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEzD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO;AACxB,QAAA,IAAI,CAAC,IAAI;YAAE;QAEX,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAI;AACpD,YAAA,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC;QACvC,CAAC,EAAE,OAAO,CAAC;AAEX,QAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AACtB,QAAA,OAAO,MAAK;YACV,QAAQ,CAAC,UAAU,EAAE;AACvB,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC;AAC9B;;ACrBM,SAAU,YAAY,CAAC,OAAO,GAAG,IAAI,EAAA;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE3C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,IAAY,KAAI;AAC9C,QAAA,IAAI;YACF,IAAI,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,eAAe,EAAE;gBACjD,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;YAC3C;iBAAO;;gBAEL,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;AACnD,gBAAA,QAAQ,CAAC,KAAK,GAAG,IAAI;AACrB,gBAAA,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO;AACjC,gBAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG;AAC5B,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBACnC,QAAQ,CAAC,KAAK,EAAE;gBAChB,QAAQ,CAAC,MAAM,EAAE;AACjB,gBAAA,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;AAC5B,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACrC;YACA,SAAS,CAAC,IAAI,CAAC;YACf,UAAU,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;AAC3C,YAAA,OAAO,IAAI;QACb;AAAE,QAAA,MAAM;YACN,SAAS,CAAC,KAAK,CAAC;AAChB,YAAA,OAAO,KAAK;QACd;AACF,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;AACzB;;AC7BM,SAAU,aAAa,CAAC,KAAa,EAAA;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAK;QAC1C,IAAI,OAAO,MAAM,KAAK,WAAW;AAAE,YAAA,OAAO,KAAK;QAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO;AACzC,IAAA,CAAC,CAAC;IAEF,SAAS,CAAC,MAAK;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;QAEnC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AAC/C,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAsB,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;;AAGlE,QAAA,IAAI,cAAc,CAAC,gBAAgB,EAAE;AACnC,YAAA,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACrD;aAAO;AACL,YAAA,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC;QACtC;AAEA,QAAA,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC;AAElC,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,cAAc,CAAC,mBAAmB,EAAE;AACtC,gBAAA,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACxD;iBAAO;AACL,gBAAA,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC;YACzC;AACF,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,OAAO,OAAO;AAChB;;AC/BA;;;;AAIG;AACG,SAAU,SAAS,CAAC,OAAA,GAAmB,KAAK,EAAA;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAU,OAAO,CAAC;AACpD,IAAA,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AAC7D,IAAA,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;AAClC;;ACTA;;;;;;;AAOG;AACG,SAAU,WAAW,CAAI,KAAQ,EAAE,KAAa,EAAA;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE3D,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;YAC9B,iBAAiB,CAAC,KAAK,CAAC;QAC1B,CAAC,EAAE,KAAK,CAAC;AAET,QAAA,OAAO,MAAK;YACV,YAAY,CAAC,OAAO,CAAC;AACvB,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElB,IAAA,OAAO,cAAc;AACvB;;ACtBA;;;;;;AAMG;AACG,SAAU,iBAAiB,CAC/B,GAAwB,EACxB,OAAiD,EAAA;IAEjD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,QAAQ,GAAG,CAAC,KAA8B,KAAI;AAClD,YAAA,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO;;AAEtB,YAAA,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;gBAC5C;YACF;YACA,OAAO,CAAC,KAAK,CAAC;AAChB,QAAA,CAAC;AAED,QAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC;AAChD,QAAA,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC;AAEjD,QAAA,OAAO,MAAK;AACV,YAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC;AACnD,YAAA,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC;AACtD,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACpB;;ACxBA;;;;;AAKG;SACa,aAAa,GAAA;AAC3B,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAa;AACvD,QAAA,KAAK,EAAE,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC;AAC5D,QAAA,MAAM,EAAE,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC;AAC/D,KAAA,CAAC;IAEF,SAAS,CAAC,MAAK;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;AAEnC,QAAA,SAAS,YAAY,GAAA;AACnB,YAAA,aAAa,CAAC;gBACZ,KAAK,EAAE,MAAM,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;AAC3B,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC/C,YAAY,EAAE,CAAC;QAEf,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,UAAU;AACnB;;AClCA;;;;;;AAMG;AACG,SAAU,WAAW,CAAI,KAAQ,EAAA;AACrC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAI,SAAS,CAAC;IAEhC,SAAS,CAAC,MAAK;AACb,QAAA,GAAG,CAAC,OAAO,GAAG,KAAK;AACrB,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAEX,OAAO,GAAG,CAAC,OAAO;AACpB;;SCKgB,gBAAgB,CAK9B,SAAkB,EAClB,OAA8E,EAC9E,OAAoB,EAAA;;AAGpB,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;IAEpC,SAAS,CAAC,MAAK;AACb,QAAA,YAAY,CAAC,OAAO,GAAG,OAAO;AAChC,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEb,SAAS,CAAC,MAAK;;AAEb,QAAA,MAAM,aAAa,GAAyB,OAAO,IAAI,MAAM;QAC7D,IAAI,EAAE,aAAa,IAAI,aAAa,CAAC,gBAAgB,CAAC,EAAE;YACtD;QACF;;AAGA,QAAA,MAAM,aAAa,GAAmB,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;AAE5E,QAAA,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;;AAGxD,QAAA,OAAO,MAAK;AACV,YAAA,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AAC7D,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1B;;;;"}
{"version":3,"file":"index.js","sources":["../src/usePersistentState.ts","../src/useOnScreen.ts","../src/useClipboard.ts","../src/useMediaQuery.ts","../src/useToggle.ts","../src/useDebounce.ts","../src/useOnClickOutside.ts","../src/useWindowSize.ts","../src/usePrevious.ts","../src/useEventListener.ts","../src/useHover.ts","../src/useInterval.ts","../src/useKeyPress.ts","../src/useIsFirstRender.ts","../src/useTimeout.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":";;AAEM,SAAU,kBAAkB,CAChC,GAAW,EACX,YAAe,EACf,OAAA,GAAmB,MAAM,CAAC,YAAY,EAAA;IAEtC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAI,MAAK;AACzC,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACjC,YAAA,OAAO,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAO,GAAG,YAAY;QACtD;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,YAAY;QACrB;AACF,IAAA,CAAC,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,IAAI;AACF,YAAA,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;;AAE3C,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5D;QAAE,OAAO,KAAc,EAAE;;AAEvB,YAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;QAC5C;IACF,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAEzB,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,aAAa,GAAG,CAAC,CAAe,KAAI;AACxC,YAAA,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,EAAE;AACjB,gBAAA,IAAI;oBACF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;AACjC,oBAAA,IAAI,IAAI;wBAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAC;gBAC3C;gBAAE,OAAO,KAAc,EAAE;;AAEvB,oBAAA,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC;gBAC5C;YACF;AACF,QAAA,CAAC;AACD,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;QACjD,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AACnE,IAAA,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AAElB,IAAA,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;AAC1B;;AC1CM,SAAU,WAAW,CACzB,OAAkC,EAAA;AAElC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC;IAC3B,MAAM,CAAC,cAAc,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEzD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO;AACxB,QAAA,IAAI,CAAC,IAAI;YAAE;QAEX,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,KAAI;AACpD,YAAA,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC;QACvC,CAAC,EAAE,OAAO,CAAC;AAEX,QAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AACtB,QAAA,OAAO,MAAK;YACV,QAAQ,CAAC,UAAU,EAAE;AACvB,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC;AAC9B;;ACrBM,SAAU,YAAY,CAAC,OAAO,GAAG,IAAI,EAAA;IACzC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE3C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,IAAY,KAAI;AAC9C,QAAA,IAAI;YACF,IAAI,SAAS,CAAC,SAAS,IAAI,MAAM,CAAC,eAAe,EAAE;gBACjD,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC;YAC3C;iBAAO;;gBAEL,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;AACnD,gBAAA,QAAQ,CAAC,KAAK,GAAG,IAAI;AACrB,gBAAA,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO;AACjC,gBAAA,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG;AAC5B,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;gBACnC,QAAQ,CAAC,KAAK,EAAE;gBAChB,QAAQ,CAAC,MAAM,EAAE;AACjB,gBAAA,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;AAC5B,gBAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACrC;YACA,SAAS,CAAC,IAAI,CAAC;YACf,UAAU,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;AAC3C,YAAA,OAAO,IAAI;QACb;AAAE,QAAA,MAAM;YACN,SAAS,CAAC,KAAK,CAAC;AAChB,YAAA,OAAO,KAAK;QACd;AACF,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;AACzB;;AC7BM,SAAU,aAAa,CAAC,KAAa,EAAA;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAK;QAC1C,IAAI,OAAO,MAAM,KAAK,WAAW;AAAE,YAAA,OAAO,KAAK;QAC/C,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO;AACzC,IAAA,CAAC,CAAC;IAEF,SAAS,CAAC,MAAK;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;QAEnC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AAC/C,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAsB,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;;AAGlE,QAAA,IAAI,cAAc,CAAC,gBAAgB,EAAE;AACnC,YAAA,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACrD;aAAO;AACL,YAAA,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC;QACtC;AAEA,QAAA,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC;AAElC,QAAA,OAAO,MAAK;AACV,YAAA,IAAI,cAAc,CAAC,mBAAmB,EAAE;AACtC,gBAAA,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;YACxD;iBAAO;AACL,gBAAA,cAAc,CAAC,cAAc,CAAC,QAAQ,CAAC;YACzC;AACF,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,OAAO,OAAO;AAChB;;AC/BA;;;;AAIG;AACG,SAAU,SAAS,CAAC,OAAA,GAAmB,KAAK,EAAA;IAChD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAU,OAAO,CAAC;AACpD,IAAA,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AAC7D,IAAA,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;AAClC;;ACTA;;;;;;;AAOG;AACG,SAAU,WAAW,CAAI,KAAQ,EAAE,KAAa,EAAA;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE3D,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;YAC9B,iBAAiB,CAAC,KAAK,CAAC;QAC1B,CAAC,EAAE,KAAK,CAAC;AAET,QAAA,OAAO,MAAK;YACV,YAAY,CAAC,OAAO,CAAC;AACvB,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAElB,IAAA,OAAO,cAAc;AACvB;;ACtBA;;;;;;AAMG;AACG,SAAU,iBAAiB,CAC/B,GAAwB,EACxB,OAAiD,EAAA;IAEjD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,QAAQ,GAAG,CAAC,KAA8B,KAAI;AAClD,YAAA,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO;;AAEtB,YAAA,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,EAAE;gBAC5C;YACF;YACA,OAAO,CAAC,KAAK,CAAC;AAChB,QAAA,CAAC;AAED,QAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC;AAChD,QAAA,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC;AAEjD,QAAA,OAAO,MAAK;AACV,YAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC;AACnD,YAAA,QAAQ,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC;AACtD,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACpB;;ACxBA;;;;;AAKG;SACa,aAAa,GAAA;AAC3B,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAa;AACvD,QAAA,KAAK,EAAE,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,UAAU,GAAG,CAAC;AAC5D,QAAA,MAAM,EAAE,OAAO,MAAM,KAAK,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC;AAC/D,KAAA,CAAC;IAEF,SAAS,CAAC,MAAK;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE;AAEnC,QAAA,SAAS,YAAY,GAAA;AACnB,YAAA,aAAa,CAAC;gBACZ,KAAK,EAAE,MAAM,CAAC,UAAU;gBACxB,MAAM,EAAE,MAAM,CAAC,WAAW;AAC3B,aAAA,CAAC;QACJ;AAEA,QAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC/C,YAAY,EAAE,CAAC;QAEf,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC;IACjE,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,UAAU;AACnB;;AClCA;;;;;;AAMG;AACG,SAAU,WAAW,CAAI,KAAQ,EAAA;AACrC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAI,SAAS,CAAC;IAEhC,SAAS,CAAC,MAAK;AACb,QAAA,GAAG,CAAC,OAAO,GAAG,KAAK;AACrB,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAEX,OAAO,GAAG,CAAC,OAAO;AACpB;;SCKgB,gBAAgB,CAK9B,SAAkB,EAClB,OAA8E,EAC9E,OAAoB,EAAA;;AAGpB,IAAA,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;IAEpC,SAAS,CAAC,MAAK;AACb,QAAA,YAAY,CAAC,OAAO,GAAG,OAAO;AAChC,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAEb,SAAS,CAAC,MAAK;;AAEb,QAAA,MAAM,aAAa,GAAyB,OAAO,IAAI,MAAM;QAC7D,IAAI,EAAE,aAAa,IAAI,aAAa,CAAC,gBAAgB,CAAC,EAAE;YACtD;QACF;;AAGA,QAAA,MAAM,aAAa,GAAmB,CAAC,KAAK,KAAK,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;AAE5E,QAAA,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;;AAGxD,QAAA,OAAO,MAAK;AACV,YAAA,aAAa,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AAC7D,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC1B;;ACrDA;;;;AAIG;SACa,QAAQ,GAAA;IACtB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AACzC,IAAA,MAAM,GAAG,GAAG,MAAM,CAAI,IAAI,CAAC;IAE3B,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;IAC5C,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC;IAE5C,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO;QACxB,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC;AACnD,YAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,CAAC;AAEjD,YAAA,OAAO,MAAK;AACV,gBAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC;AACtD,gBAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,cAAc,CAAC;AACtD,YAAA,CAAC;QACH;IACF,CAAC,EAAE,EAAE,CAAC;AAEN,IAAA,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;AACrB;;AC1BA;;;;;;AAMG;AACG,SAAU,WAAW,CAAC,QAAoB,EAAE,KAAoB,EAAA;AACpE,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;;IAGtC,SAAS,CAAC,MAAK;AACb,QAAA,aAAa,CAAC,OAAO,GAAG,QAAQ;AAClC,IAAA,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;;IAGd,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;AAC5D,YAAA,OAAO,MAAM,aAAa,CAAC,EAAE,CAAC;QAChC;AACF,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACb;;ACtBA;;;;;AAKG;AACG,SAAU,WAAW,CAAC,SAAiB,EAAA;IAC3C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEnD,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,WAAW,GAAG,CAAC,EAAE,GAAG,EAAiB,KAAI;AAC7C,YAAA,IAAI,GAAG,KAAK,SAAS,EAAE;gBACrB,aAAa,CAAC,IAAI,CAAC;YACrB;AACF,QAAA,CAAC;AAED,QAAA,MAAM,SAAS,GAAG,CAAC,EAAE,GAAG,EAAiB,KAAI;AAC3C,YAAA,IAAI,GAAG,KAAK,SAAS,EAAE;gBACrB,aAAa,CAAC,KAAK,CAAC;YACtB;AACF,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;AAC/C,QAAA,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC;AAE3C,QAAA,OAAO,MAAK;AACV,YAAA,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC;AAClD,YAAA,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC;AAChD,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAEf,IAAA,OAAO,UAAU;AACnB;;AChCA;;;;;AAKG;SACa,gBAAgB,GAAA;AAC9B,IAAA,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;AAE5B,IAAA,IAAI,OAAO,CAAC,OAAO,EAAE;AACnB,QAAA,OAAO,CAAC,OAAO,GAAG,KAAK;AACvB,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,OAAO,KAAK;AACd;;ACfA;;;;;AAKG;AACG,SAAU,UAAU,CAAC,QAAoB,EAAE,KAAoB,EAAA;AACnE,IAAA,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;;IAGtC,SAAS,CAAC,MAAK;AACb,QAAA,aAAa,CAAC,OAAO,GAAG,QAAQ;AAClC,IAAA,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;;IAGd,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC;AAC3D,YAAA,OAAO,MAAM,YAAY,CAAC,EAAE,CAAC;QAC/B;AACF,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AACb;;;;"}
{
"name": "react-lite-hooks",
"version": "2.2.0",
"version": "2.3.0",
"description": "React Utilities",

@@ -5,0 +5,0 @@ "keywords": [

@@ -229,2 +229,87 @@ # react-lite-hooks

### 11. useHover
#### Tracks whether an element is being hovered.
```tsx
import { useHover } from "react-lite-hooks";
function HoverCard() {
const [hoverRef, isHovered] = useHover();
return <div ref={hoverRef}>{isHovered ? "I am hovered!" : "Hover me"}</div>;
}
```
### 12. useInterval
#### Declarative setInterval that handles the "stale closure" problem.
```tsx
import { useState } from "react";
import { useInterval } from "react-lite-hooks";
function Timer() {
const [count, setCount] = useState(0);
useInterval(() => {
setCount(count + 1);
}, 1000);
return <p>Count: {count}</p>;
}
```
### 13. useKeyPress
#### Detects when a specific key is pressed.
```tsx
import { useKeyPress } from "react-lite-hooks";
function KeyListener() {
const isEnterPressed = useKeyPress("Enter");
return <p>{isEnterPressed ? "Enter is pressed!" : "Press Enter"}</p>;
}
```
### 14. useIsFirstRender
#### Returns true only on the first render of the component.
```tsx
import { useEffect } from "react";
import { useIsFirstRender } from "react-lite-hooks";
function Component() {
const isFirst = useIsFirstRender();
useEffect(() => {
if (isFirst) {
console.log("Component just mounted");
}
}, [isFirst]);
return <div>Check console</div>;
}
```
### 15. useTimeout
#### Declarative setTimeout.
```tsx
import { useState } from "react";
import { useTimeout } from "react-lite-hooks";
function DelayedMessage() {
const [show, setShow] = useState(false);
useTimeout(() => setShow(true), 2000);
return <div>{show ? "Hello after 2s!" : "Waiting..."}</div>;
}
```
## Requirements

@@ -231,0 +316,0 @@