@supunlakmal/hooks
Version:
A collection of reusable React hooks
176 lines (175 loc) • 13.3 kB
TypeScript
export { useBoolean } from './hooks/state-management/useBoolean';
export { useConst } from './hooks/state-management/useConst';
export { useControlledRerenderState } from './hooks/state-management/useControlledRerenderState';
export { useCounter } from './hooks/state-management/useCounter';
export { useCycle } from './hooks/state-management/useCycle';
export { useDefault } from './hooks/state-management/useDefault';
export { useDerivedState } from './hooks/state-management/useDerivedState';
export { useEnum } from './hooks/state-management/useEnum';
export { useFiniteStateMachine } from './hooks/state-management/useFiniteStateMachine';
export { useFirstMountState } from './hooks/state-management/useFirstMountState';
export { useFunctionalState } from './hooks/state-management/useFunctionalState';
export { useHistoryState } from './hooks/state-management/useHistoryState';
export { useIsFirstRender } from './hooks/state-management/useIsFirstRender';
export { useIsMounted } from './hooks/state-management/useIsMounted';
export { useList } from './hooks/state-management/useList';
export { useListState } from './hooks/state-management/useListState';
export { useMap } from './hooks/state-management/useMap';
export { useMapState } from './hooks/state-management/useMapState';
export { useMediatedState } from './hooks/state-management/useMediatedState';
export { usePrevious } from './hooks/state-management/usePrevious';
export { usePreviousDifferent } from './hooks/state-management/usePreviousDifferent';
export { useQueue } from './hooks/state-management/useQueue';
export { useResetState } from './hooks/state-management/useResetState';
export { useSet } from './hooks/state-management/useSet';
export { useSetState } from './hooks/state-management/useSetState';
export { useStateWithHistory } from './hooks/state-management/useStateWithHistory';
export { useStepper } from './hooks/state-management/useStepper';
export { useToggle } from './hooks/state-management/useToggle';
export { useConditionalEffect } from './hooks/side-effects-lifecycle/useConditionalEffect';
export { useCustomCompareEffect } from './hooks/side-effects-lifecycle/useCustomCompareEffect';
export { useDebouncedEffect } from './hooks/side-effects-lifecycle/useDebouncedEffect';
export { useDeepCompareEffect } from './hooks/side-effects-lifecycle/useDeepCompareEffect';
export { useErrorBoundary } from './hooks/side-effects-lifecycle/useErrorBoundary';
export { useIsomorphicLayoutEffect } from './hooks/side-effects-lifecycle/useIsomorphicLayoutEffect';
export { useLifecycleLogger } from './hooks/side-effects-lifecycle/useLifecycleLogger';
export { useLogger } from './hooks/side-effects-lifecycle/useLogger';
export { useMount } from './hooks/side-effects-lifecycle/useMount';
export { useReducerLogger } from './hooks/side-effects-lifecycle/useReducerLogger';
export { useThrottledEffect } from './hooks/side-effects-lifecycle/useThrottledEffect';
export { useUnmount } from './hooks/side-effects-lifecycle/useUnmount';
export { useUnmountEffect } from './hooks/side-effects-lifecycle/useUnmountEffect';
export { useUpdateEffect } from './hooks/side-effects-lifecycle/useUpdateEffect';
export { useWhyDidYouUpdate } from './hooks/side-effects-lifecycle/useWhyDidYouUpdate';
export { useAsync } from './hooks/data-fetching/useAsync';
export { useAsyncAbortable } from './hooks/data-fetching/useAsyncAbortable';
export { useCachedFetch } from './hooks/data-fetching/useCachedFetch';
export { useDebouncedFetch } from './hooks/data-fetching/useDebouncedFetch';
export { useDelete } from './hooks/data-fetching/useDelete';
export { useFetch } from './hooks/data-fetching/useFetch';
export { useGet } from './hooks/data-fetching/useGet';
export { useIdleFetch } from './hooks/data-fetching/useIdleFetch';
export { useLocationBasedFetch } from './hooks/data-fetching/useLocationBasedFetch';
export { useMutation } from './hooks/data-fetching/useMutation';
export { useNetworkAwareFetch } from './hooks/data-fetching/useNetworkAwareFetch';
export { usePatch } from './hooks/data-fetching/usePatch';
export { usePost } from './hooks/data-fetching/usePost';
export { usePromise } from './hooks/data-fetching/usePromise';
export { usePut } from './hooks/data-fetching/usePut';
export { useBatteryStatus } from './hooks/browser-web-apis/useBatteryStatus';
export { useBroadcastChannel } from './hooks/browser-web-apis/useBroadcastChannel';
export { useClipboard } from './hooks/browser-web-apis/useClipboard';
export { useClipboardWithFeedback } from './hooks/browser-web-apis/useClipboardWithFeedback';
export { useCookie } from './hooks/browser-web-apis/useCookie';
export { useCopyToClipboard } from './hooks/browser-web-apis/useCopyToClipboard';
export { useDarkMode } from './hooks/browser-web-apis/useDarkMode';
export { useDebouncedGeolocation } from './hooks/browser-web-apis/useDebouncedGeolocation';
export { useDeviceMotion } from './hooks/browser-web-apis/useDeviceMotion';
export { useDeviceOrientation } from './hooks/browser-web-apis/useDeviceOrientation';
export { useDocumentTitle } from './hooks/browser-web-apis/useDocumentTitle';
export { useEventSource } from './hooks/browser-web-apis/useEventSource';
export { useEyeDropper } from './hooks/browser-web-apis/useEyeDropper';
export { useFavicon } from './hooks/browser-web-apis/useFavicon';
export { useFullscreen } from './hooks/browser-web-apis/useFullscreen';
export { useGeolocation } from './hooks/browser-web-apis/useGeolocation';
export { useGeolocationContinuous } from './hooks/browser-web-apis/useGeolocationContinuous';
export { useIdleCallback } from './hooks/browser-web-apis/useIdleCallback';
export { useIdleDetection } from './hooks/browser-web-apis/useIdleDetection';
export { useLocalStorage } from './hooks/browser-web-apis/useLocalStorage';
export { useLocalStorageQueue } from './hooks/browser-web-apis/useLocalStorageQueue';
export { useLocalStorageValue } from './hooks/browser-web-apis/useLocalStorageValue';
export { useMediaStream } from './hooks/browser-web-apis/useMediaStream';
export { useNetworkAwareWebSocket } from './hooks/browser-web-apis/useNetworkAwareWebSocket';
export { useNetworkSpeed } from './hooks/browser-web-apis/useNetworkSpeed';
export { useNetworkState } from './hooks/browser-web-apis/useNetworkState';
export { useNotification } from './hooks/browser-web-apis/useNotification';
export { useOnlineStatus } from './hooks/browser-web-apis/useOnlineStatus';
export { useOrientation } from './hooks/browser-web-apis/useOrientation';
export { usePageVisibility } from './hooks/browser-web-apis/usePageVisibility';
export { usePermission } from './hooks/browser-web-apis/usePermission';
export { usePersistentCounter } from './hooks/browser-web-apis/usePersistentCounter';
export { usePersistentToggle } from './hooks/browser-web-apis/usePersistentToggle';
export { usePreferredLanguages } from './hooks/browser-web-apis/usePreferredLanguages';
export { usePrefersReducedMotion } from './hooks/browser-web-apis/usePrefersReducedMotion';
export { useQueryParam } from './hooks/browser-web-apis/useQueryParam';
export { useScreenOrientation } from './hooks/browser-web-apis/useScreenOrientation';
export { useScript } from './hooks/browser-web-apis/useScript';
export { useSessionStorage } from './hooks/browser-web-apis/useSessionStorage';
export { useSpeechSynthesis } from './hooks/browser-web-apis/useSpeechSynthesis';
export { useStorageValue } from './hooks/browser-web-apis/useStorageValue';
export { useSyncedLocalStorage } from './hooks/browser-web-apis/useSyncedLocalStorage';
export { useVibration } from './hooks/browser-web-apis/useVibration';
export { useWakeLock } from './hooks/browser-web-apis/useWakeLock';
export { useWebSocket } from './hooks/browser-web-apis/useWebSocket';
export { useWebWorker } from './hooks/browser-web-apis/useWebWorker';
export { useWorker } from './hooks/browser-web-apis/useWorker';
export { useBreakpoint } from './hooks/user-interface-dom/useBreakpoint';
export { useClickOutside } from './hooks/user-interface-dom/useClickOutside';
export { useClickOutsideWithEscape } from './hooks/user-interface-dom/useClickOutsideWithEscape';
export { useContextMenu } from './hooks/user-interface-dom/useContextMenu';
export { useDebouncedMediaQuery } from './hooks/user-interface-dom/useDebouncedMediaQuery';
export { useDebouncedWindowSize } from './hooks/user-interface-dom/useDebouncedWindowSize';
export { useDrag } from './hooks/user-interface-dom/useDrag';
export { useDraggable } from './hooks/user-interface-dom/useDraggable';
export { useElementSize } from './hooks/user-interface-dom/useElementSize';
export { useFocusTrap } from './hooks/user-interface-dom/useFocusTrap';
export { useFocusWithinState } from './hooks/user-interface-dom/useFocusWithinState';
export { useHasBeenVisible } from './hooks/user-interface-dom/useHasBeenVisible';
export { useHookableRef } from './hooks/user-interface-dom/useHookableRef';
export { useHover } from './hooks/user-interface-dom/useHover';
export { useHoverDelay } from './hooks/user-interface-dom/useHoverDelay';
export { useImageOnLoad } from './hooks/user-interface-dom/useImageOnLoad';
export { useInfiniteScroll } from './hooks/user-interface-dom/useInfiniteScroll';
export { useIntersectionObserver } from './hooks/user-interface-dom/useIntersectionObserver';
export { useIsomorphicId } from './hooks/user-interface-dom/useIsomorphicId';
export { useMeasure } from './hooks/user-interface-dom/useMeasure';
export { useMediaQuery } from './hooks/user-interface-dom/useMediaQuery';
export { useMergeRefs } from './hooks/user-interface-dom/useMergeRefs';
export { useMobile } from './hooks/user-interface-dom/useMobile';
export { useMousePosition } from './hooks/user-interface-dom/useMousePosition';
export { usePageLeave } from './hooks/user-interface-dom/usePageLeave';
export { usePagination } from './hooks/user-interface-dom/usePagination';
export { usePinchZoom } from './hooks/user-interface-dom/usePinchZoom';
export { usePortal } from './hooks/user-interface-dom/usePortal';
export { useResizeObserver } from './hooks/user-interface-dom/useResizeObserver';
export { useRovingTabIndex } from './hooks/user-interface-dom/useRovingTabIndex';
export { useScrollLock } from './hooks/user-interface-dom/useScrollLock';
export { useScrollPosition } from './hooks/user-interface-dom/useScrollPosition';
export { useScrollSpy } from './hooks/user-interface-dom/useScrollSpy';
export { useScrollToTop } from './hooks/user-interface-dom/useScrollToTop';
export { useSwipe } from './hooks/user-interface-dom/useSwipe';
export { useTextSelection } from './hooks/user-interface-dom/useTextSelection';
export { useVirtualList } from './hooks/user-interface-dom/useVirtualList';
export { useVisibility } from './hooks/user-interface-dom/useVisibility';
export { useWindowSize } from './hooks/user-interface-dom/useWindowSize';
export { useEventCallback } from './hooks/event-handling/useEventCallback';
export { useEventListener } from './hooks/event-handling/useEventListener';
export { useKeyCombo } from './hooks/event-handling/useKeyCombo';
export { useKeyPress } from './hooks/event-handling/useKeyPress';
export { useLongPress } from './hooks/event-handling/useLongPress';
export { useRouteChange } from './hooks/event-handling/useRouteChange';
export { useThrottledEventListener } from './hooks/event-handling/useThrottledEventListener';
export { useCustomCompareMemo } from './hooks/performance-optimization/useCustomCompareMemo';
export { useDebounce } from './hooks/performance-optimization/useDebounce';
export { useDebouncedCallback } from './hooks/performance-optimization/useDebouncedCallback';
export { useDebouncedState } from './hooks/performance-optimization/useDebouncedState';
export { useForceUpdate } from './hooks/performance-optimization/useForceUpdate';
export { useRafCallback } from './hooks/performance-optimization/useRafCallback';
export { useRafState } from './hooks/performance-optimization/useRafState';
export { useRenderCount } from './hooks/performance-optimization/useRenderCount';
export { useRerender } from './hooks/performance-optimization/useRerender';
export { useSyncedRef } from './hooks/performance-optimization/useSyncedRef';
export { useThrottle } from './hooks/performance-optimization/useThrottle';
export { useThrottledCallback } from './hooks/performance-optimization/useThrottledCallback';
export { useThrottledScroll } from './hooks/performance-optimization/useThrottledScroll';
export { useThrottledState } from './hooks/performance-optimization/useThrottledState';
export { useForm } from './hooks/forms/useForm';
export { useFormValidation } from './hooks/forms/useFormValidation';
export { useTranslation } from './hooks/forms/useTranslation';
export { useCountdown } from './hooks/timers-intervals/useCountdown';
export { useIdleTimer } from './hooks/timers-intervals/useIdleTimer';
export { useInterval } from './hooks/timers-intervals/useInterval';
export { useIntervalWhen } from './hooks/timers-intervals/useIntervalWhen';
export { useTimeout } from './hooks/timers-intervals/useTimeout';
export { useAnimation } from './hooks/animation/useAnimation';
export { useAnimationFrame } from './hooks/animation/useAnimationFrame';