Jesus sucks
This commit is contained in:
34
backend/frontend/node_modules/@restart/hooks/esm/useThrottledEventHandler.d.ts
generated
vendored
Normal file
34
backend/frontend/node_modules/@restart/hooks/esm/useThrottledEventHandler.d.ts
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
import { SyntheticEvent } from 'react';
|
||||
export type ThrottledHandler<TEvent> = ((event: TEvent) => void) & {
|
||||
clear(): void;
|
||||
};
|
||||
/**
|
||||
* Creates a event handler function throttled by `requestAnimationFrame` that
|
||||
* returns the **most recent** event. Useful for noisy events that update react state.
|
||||
*
|
||||
* ```tsx
|
||||
* function Component() {
|
||||
* const [position, setPosition] = useState();
|
||||
* const handleMove = useThrottledEventHandler<React.PointerEvent>(
|
||||
* (event) => {
|
||||
* setPosition({
|
||||
* top: event.clientX,
|
||||
* left: event.clientY,
|
||||
* })
|
||||
* }
|
||||
* )
|
||||
*
|
||||
* return (
|
||||
* <div onPointerMove={handleMove}>
|
||||
* <div style={position} />
|
||||
* </div>
|
||||
* );
|
||||
* }
|
||||
* ```
|
||||
*
|
||||
* @param handler An event handler function
|
||||
* @typeParam TEvent The event object passed to the handler function
|
||||
* @returns The event handler with a `clear` method attached for clearing any in-flight handler calls
|
||||
*
|
||||
*/
|
||||
export default function useThrottledEventHandler<TEvent extends object = SyntheticEvent>(handler: (event: TEvent) => void): ThrottledHandler<TEvent>;
|
||||
Reference in New Issue
Block a user