UNPKG

@brutalcomponent/react

Version:
43 lines (34 loc) 1.48 kB
import * as React from 'react'; import { RefObject } from 'react'; interface UseClipboardOptions { timeout?: number; onSuccess?: (text: string) => void; onError?: (error: Error) => void; } declare function useClipboard(options?: UseClipboardOptions): { copy: (text: string) => Promise<boolean>; copied: boolean; error: Error | null; reset: () => void; }; declare function useClickOutside<T extends HTMLElement = HTMLElement>(handler: () => void, enabled?: boolean): RefObject<T | null>; declare function useDebounce<T>(value: T, delay?: number): T; declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((val: T) => T)) => void, () => void]; declare function useMediaQuery(query: string): boolean; declare function useBreakpoint(): { isMobile: boolean; isTablet: boolean; isDesktop: boolean; isMd: boolean; isLg: boolean; isXl: boolean; }; interface UseKeyPressOptions { element?: HTMLElement | null; preventDefault?: boolean; stopPropagation?: boolean; enabled?: boolean; } declare function useKeyPress(keys: string | string[], handler: (event: KeyboardEvent) => void, options?: UseKeyPressOptions): void; declare function useFocusTrap(enabled?: boolean): React.RefObject<HTMLDivElement | null>; export { type UseClipboardOptions, type UseKeyPressOptions, useBreakpoint, useClickOutside, useClipboard, useDebounce, useFocusTrap, useKeyPress, useLocalStorage, useMediaQuery };