From 82a25fa86cd4122b51c0f88a468ed8b8c6359be8 Mon Sep 17 00:00:00 2001 From: BitterGourd <91231822+gaoachao@users.noreply.github.com> Date: Mon, 12 Jan 2026 22:11:18 +0800 Subject: [PATCH] fix: ensure ESM imports include .js file extension --- src/component/UseKey.tsx | 4 +- src/factory/createBreakpoint.ts | 2 +- src/factory/createGlobalState.ts | 6 +- src/factory/createHTMLMediaHook.ts | 4 +- src/factory/createReducer.ts | 2 +- src/index.ts | 230 ++++++++++++++--------------- src/useAsync.ts | 6 +- src/useAsyncFn.ts | 4 +- src/useAsyncRetry.ts | 2 +- src/useAudio.ts | 2 +- src/useBattery.ts | 4 +- src/useBeforeUnload.ts | 2 +- src/useBoolean.ts | 2 +- src/useClickAway.ts | 2 +- src/useCopyToClipboard.ts | 4 +- src/useCounter.ts | 4 +- src/useCss.ts | 2 +- src/useDebounce.ts | 2 +- src/useDeepCompareEffect.ts | 4 +- src/useDrop.ts | 2 +- src/useDropArea.ts | 4 +- src/useEvent.ts | 2 +- src/useFullscreen.ts | 4 +- src/useGetSet.ts | 4 +- src/useGetSetState.ts | 2 +- src/useHash.ts | 4 +- src/useHover.ts | 2 +- src/useHoverDirty.ts | 2 +- src/useIdle.ts | 2 +- src/useIsomorphicLayoutEffect.ts | 2 +- src/useKey.ts | 4 +- src/useKeyPress.ts | 2 +- src/useKeyPressEvent.ts | 6 +- src/useKeyboardJs.ts | 2 +- src/useList.ts | 4 +- src/useLocalStorage.ts | 2 +- src/useLocation.ts | 2 +- src/useLockBodyScroll.ts | 2 +- src/useLogger.ts | 4 +- src/useLongPress.ts | 2 +- src/useMeasure.ts | 4 +- src/useMedia.ts | 2 +- src/useMediaDevices.ts | 2 +- src/useMotion.ts | 2 +- src/useMount.ts | 2 +- src/useMouse.ts | 4 +- src/useMouseHovered.ts | 4 +- src/useMouseWheel.ts | 2 +- src/useMultiStateValidator.ts | 2 +- src/useNetworkState.ts | 4 +- src/useNumber.ts | 2 +- src/useObservable.ts | 2 +- src/useOrientation.ts | 2 +- src/usePageLeave.ts | 2 +- src/usePermission.ts | 2 +- src/usePreviousDistinct.ts | 2 +- src/usePromise.ts | 2 +- src/useRaf.ts | 2 +- src/useRafState.ts | 2 +- src/useScratch.ts | 4 +- src/useScroll.ts | 4 +- src/useScrolling.ts | 2 +- src/useSearchParam.ts | 2 +- src/useSessionStorage.ts | 2 +- src/useShallowCompareEffect.ts | 2 +- src/useSize.tsx | 2 +- src/useSlider.ts | 6 +- src/useStartTyping.ts | 4 +- src/useStateList.ts | 6 +- src/useStateWithHistory.ts | 4 +- src/useThrottle.ts | 2 +- src/useThrottleFn.ts | 2 +- src/useTimeout.ts | 4 +- src/useTween.ts | 2 +- src/useUnmount.ts | 2 +- src/useUnmountPromise.ts | 2 +- src/useUpdateEffect.ts | 2 +- src/useUpsert.ts | 4 +- src/useVibrate.ts | 2 +- src/useVideo.ts | 2 +- src/useWindowScroll.ts | 4 +- src/useWindowSize.ts | 4 +- 82 files changed, 232 insertions(+), 232 deletions(-) diff --git a/src/component/UseKey.tsx b/src/component/UseKey.tsx index 74204755822..e120832dc91 100644 --- a/src/component/UseKey.tsx +++ b/src/component/UseKey.tsx @@ -1,5 +1,5 @@ -import useKey from '../useKey'; -import createRenderProp from '../factory/createRenderProp'; +import useKey from '../useKey.js'; +import createRenderProp from '../factory/createRenderProp.js'; const UseKey = createRenderProp(useKey, ({ filter, fn, deps, ...rest }) => [ filter, diff --git a/src/factory/createBreakpoint.ts b/src/factory/createBreakpoint.ts index d61832827f3..563e32d488e 100644 --- a/src/factory/createBreakpoint.ts +++ b/src/factory/createBreakpoint.ts @@ -1,5 +1,5 @@ import { useEffect, useMemo, useState } from 'react'; -import { isBrowser, off, on } from '../misc/util'; +import { isBrowser, off, on } from '../misc/util.js'; const createBreakpoint = (breakpoints: { [name: string]: number } = { laptopL: 1440, laptop: 1024, tablet: 768 }) => diff --git a/src/factory/createGlobalState.ts b/src/factory/createGlobalState.ts index c06ba9a085a..afa4676fc32 100644 --- a/src/factory/createGlobalState.ts +++ b/src/factory/createGlobalState.ts @@ -1,7 +1,7 @@ import { useState } from 'react'; -import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from '../misc/hookState'; -import useEffectOnce from '../useEffectOnce'; -import useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect'; +import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from '../misc/hookState.js'; +import useEffectOnce from '../useEffectOnce.js'; +import useIsomorphicLayoutEffect from '../useIsomorphicLayoutEffect.js'; export function createGlobalState( initialState: IHookStateInitAction diff --git a/src/factory/createHTMLMediaHook.ts b/src/factory/createHTMLMediaHook.ts index 92d62c9d793..9e3d0baf9a2 100644 --- a/src/factory/createHTMLMediaHook.ts +++ b/src/factory/createHTMLMediaHook.ts @@ -1,7 +1,7 @@ import * as React from 'react'; import { useEffect, useRef } from 'react'; -import useSetState from '../useSetState'; -import parseTimeRanges from '../misc/parseTimeRanges'; +import useSetState from '../useSetState.js'; +import parseTimeRanges from '../misc/parseTimeRanges.js'; export interface HTMLMediaProps extends React.AudioHTMLAttributes, diff --git a/src/factory/createReducer.ts b/src/factory/createReducer.ts index ef2af42efcd..d3b9496703b 100644 --- a/src/factory/createReducer.ts +++ b/src/factory/createReducer.ts @@ -1,5 +1,5 @@ import { MutableRefObject, useCallback, useRef, useState } from 'react'; -import useUpdateEffect from '../useUpdateEffect'; +import useUpdateEffect from '../useUpdateEffect.js'; type Dispatch = (action: Action) => void; diff --git a/src/index.ts b/src/index.ts index 62b69356b71..65c86242d05 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,117 +1,117 @@ -export { default as createMemo } from './factory/createMemo'; -export { default as createReducerContext } from './factory/createReducerContext'; -export { default as createReducer } from './factory/createReducer'; -export { default as createStateContext } from './factory/createStateContext'; -export { default as useAsync } from './useAsync'; -export { default as useAsyncFn } from './useAsyncFn'; -export { default as useAsyncRetry } from './useAsyncRetry'; -export { default as useAudio } from './useAudio'; -export { default as useBattery } from './useBattery'; -export { default as useBeforeUnload } from './useBeforeUnload'; -export { default as useBoolean } from './useBoolean'; -export { default as useClickAway } from './useClickAway'; -export { default as useCookie } from './useCookie'; -export { default as useCopyToClipboard } from './useCopyToClipboard'; -export { default as useCounter } from './useCounter'; -export { default as useCss } from './useCss'; -export { default as useCustomCompareEffect } from './useCustomCompareEffect'; -export { default as useDebounce } from './useDebounce'; -export { default as useDeepCompareEffect } from './useDeepCompareEffect'; -export { default as useDefault } from './useDefault'; -export { default as useDrop } from './useDrop'; -export { default as useDropArea } from './useDropArea'; -export { default as useEffectOnce } from './useEffectOnce'; -export { default as useEnsuredForwardedRef, ensuredForwardRef } from './useEnsuredForwardedRef'; -export { default as useEvent } from './useEvent'; -export { default as useError } from './useError'; -export { default as useFavicon } from './useFavicon'; -export { default as useFullscreen } from './useFullscreen'; -export { default as useGeolocation } from './useGeolocation'; -export { default as useGetSet } from './useGetSet'; -export { default as useGetSetState } from './useGetSetState'; -export { default as useHarmonicIntervalFn } from './useHarmonicIntervalFn'; -export { default as useHover } from './useHover'; -export { default as useHoverDirty } from './useHoverDirty'; -export { default as useIdle } from './useIdle'; -export { default as useIntersection } from './useIntersection'; -export { default as useInterval } from './useInterval'; -export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect'; -export { default as useKey } from './useKey'; -export { default as createBreakpoint } from './factory/createBreakpoint'; +export { default as createMemo } from './factory/createMemo.js'; +export { default as createReducerContext } from './factory/createReducerContext.js'; +export { default as createReducer } from './factory/createReducer.js'; +export { default as createStateContext } from './factory/createStateContext.js'; +export { default as useAsync } from './useAsync.js'; +export { default as useAsyncFn } from './useAsyncFn.js'; +export { default as useAsyncRetry } from './useAsyncRetry.js'; +export { default as useAudio } from './useAudio.js'; +export { default as useBattery } from './useBattery.js'; +export { default as useBeforeUnload } from './useBeforeUnload.js'; +export { default as useBoolean } from './useBoolean.js'; +export { default as useClickAway } from './useClickAway.js'; +export { default as useCookie } from './useCookie.js'; +export { default as useCopyToClipboard } from './useCopyToClipboard.js'; +export { default as useCounter } from './useCounter.js'; +export { default as useCss } from './useCss.js'; +export { default as useCustomCompareEffect } from './useCustomCompareEffect.js'; +export { default as useDebounce } from './useDebounce.js'; +export { default as useDeepCompareEffect } from './useDeepCompareEffect.js'; +export { default as useDefault } from './useDefault.js'; +export { default as useDrop } from './useDrop.js'; +export { default as useDropArea } from './useDropArea.js'; +export { default as useEffectOnce } from './useEffectOnce.js'; +export { default as useEnsuredForwardedRef, ensuredForwardRef } from './useEnsuredForwardedRef.js'; +export { default as useEvent } from './useEvent.js'; +export { default as useError } from './useError.js'; +export { default as useFavicon } from './useFavicon.js'; +export { default as useFullscreen } from './useFullscreen.js'; +export { default as useGeolocation } from './useGeolocation.js'; +export { default as useGetSet } from './useGetSet.js'; +export { default as useGetSetState } from './useGetSetState.js'; +export { default as useHarmonicIntervalFn } from './useHarmonicIntervalFn.js'; +export { default as useHover } from './useHover.js'; +export { default as useHoverDirty } from './useHoverDirty.js'; +export { default as useIdle } from './useIdle.js'; +export { default as useIntersection } from './useIntersection.js'; +export { default as useInterval } from './useInterval.js'; +export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.js'; +export { default as useKey } from './useKey.js'; +export { default as createBreakpoint } from './factory/createBreakpoint.js'; // not exported because of peer dependency -// export { default as useKeyboardJs } from './useKeyboardJs'; -export { default as useKeyPress } from './useKeyPress'; -export { default as useKeyPressEvent } from './useKeyPressEvent'; -export { default as useLatest } from './useLatest'; -export { default as useLifecycles } from './useLifecycles'; -export { default as useList } from './useList'; -export { default as useLocalStorage } from './useLocalStorage'; -export { default as useLocation } from './useLocation'; -export { default as useLockBodyScroll } from './useLockBodyScroll'; -export { default as useLogger } from './useLogger'; -export { default as useLongPress } from './useLongPress'; -export { default as useMap } from './useMap'; -export { default as useMedia } from './useMedia'; -export { default as useMediaDevices } from './useMediaDevices'; -export { useMediatedState } from './useMediatedState'; -export { default as useMethods } from './useMethods'; -export { default as useMotion } from './useMotion'; -export { default as useMount } from './useMount'; -export { default as useMountedState } from './useMountedState'; -export { default as useMouse } from './useMouse'; -export { default as useMouseHovered } from './useMouseHovered'; -export { default as useMouseWheel } from './useMouseWheel'; -export { default as useNetworkState } from './useNetworkState'; -export { default as useNumber } from './useNumber'; -export { default as useObservable } from './useObservable'; -export { default as useOrientation } from './useOrientation'; -export { default as usePageLeave } from './usePageLeave'; -export { default as usePermission } from './usePermission'; -export { default as usePrevious } from './usePrevious'; -export { default as usePreviousDistinct } from './usePreviousDistinct'; -export { default as usePromise } from './usePromise'; -export { default as useQueue } from './useQueue'; -export { default as useRaf } from './useRaf'; -export { default as useRafLoop } from './useRafLoop'; -export { default as useRafState } from './useRafState'; -export { default as useSearchParam } from './useSearchParam'; -export { default as useScratch } from './useScratch'; -export { default as useScroll } from './useScroll'; -export { default as useScrolling } from './useScrolling'; -export { default as useSessionStorage } from './useSessionStorage'; -export { default as useSetState } from './useSetState'; -export { default as useShallowCompareEffect } from './useShallowCompareEffect'; -export { default as useSize } from './useSize'; -export { default as useSlider } from './useSlider'; -export { default as useSpeech } from './useSpeech'; +// export { default as useKeyboardJs } from './useKeyboardJs.js'; +export { default as useKeyPress } from './useKeyPress.js'; +export { default as useKeyPressEvent } from './useKeyPressEvent.js'; +export { default as useLatest } from './useLatest.js'; +export { default as useLifecycles } from './useLifecycles.js'; +export { default as useList } from './useList.js'; +export { default as useLocalStorage } from './useLocalStorage.js'; +export { default as useLocation } from './useLocation.js'; +export { default as useLockBodyScroll } from './useLockBodyScroll.js'; +export { default as useLogger } from './useLogger.js'; +export { default as useLongPress } from './useLongPress.js'; +export { default as useMap } from './useMap.js'; +export { default as useMedia } from './useMedia.js'; +export { default as useMediaDevices } from './useMediaDevices.js'; +export { useMediatedState } from './useMediatedState.js'; +export { default as useMethods } from './useMethods.js'; +export { default as useMotion } from './useMotion.js'; +export { default as useMount } from './useMount.js'; +export { default as useMountedState } from './useMountedState.js'; +export { default as useMouse } from './useMouse.js'; +export { default as useMouseHovered } from './useMouseHovered.js'; +export { default as useMouseWheel } from './useMouseWheel.js'; +export { default as useNetworkState } from './useNetworkState.js'; +export { default as useNumber } from './useNumber.js'; +export { default as useObservable } from './useObservable.js'; +export { default as useOrientation } from './useOrientation.js'; +export { default as usePageLeave } from './usePageLeave.js'; +export { default as usePermission } from './usePermission.js'; +export { default as usePrevious } from './usePrevious.js'; +export { default as usePreviousDistinct } from './usePreviousDistinct.js'; +export { default as usePromise } from './usePromise.js'; +export { default as useQueue } from './useQueue.js'; +export { default as useRaf } from './useRaf.js'; +export { default as useRafLoop } from './useRafLoop.js'; +export { default as useRafState } from './useRafState.js'; +export { default as useSearchParam } from './useSearchParam.js'; +export { default as useScratch } from './useScratch.js'; +export { default as useScroll } from './useScroll.js'; +export { default as useScrolling } from './useScrolling.js'; +export { default as useSessionStorage } from './useSessionStorage.js'; +export { default as useSetState } from './useSetState.js'; +export { default as useShallowCompareEffect } from './useShallowCompareEffect.js'; +export { default as useSize } from './useSize.js'; +export { default as useSlider } from './useSlider.js'; +export { default as useSpeech } from './useSpeech.js'; // not exported because of peer dependency -// export { default as useSpring } from './useSpring'; -export { default as useStartTyping } from './useStartTyping'; -export { useStateWithHistory } from './useStateWithHistory'; -export { default as useStateList } from './useStateList'; -export { default as useThrottle } from './useThrottle'; -export { default as useThrottleFn } from './useThrottleFn'; -export { default as useTimeout } from './useTimeout'; -export { default as useTimeoutFn } from './useTimeoutFn'; -export { default as useTitle } from './useTitle'; -export { default as useToggle } from './useToggle'; -export { default as useTween } from './useTween'; -export { default as useUnmount } from './useUnmount'; -export { default as useUnmountPromise } from './useUnmountPromise'; -export { default as useUpdate } from './useUpdate'; -export { default as useUpdateEffect } from './useUpdateEffect'; -export { default as useUpsert } from './useUpsert'; -export { default as useVibrate } from './useVibrate'; -export { default as useVideo } from './useVideo'; -export { default as useStateValidator } from './useStateValidator'; -export { useScrollbarWidth } from './useScrollbarWidth'; -export { useMultiStateValidator } from './useMultiStateValidator'; -export { default as useWindowScroll } from './useWindowScroll'; -export { default as useWindowSize } from './useWindowSize'; -export { default as useMeasure } from './useMeasure'; -export { default as usePinchZoom } from './usePinchZoom'; -export { useRendersCount } from './useRendersCount'; -export { useFirstMountState } from './useFirstMountState'; -export { default as useSet } from './useSet'; -export { createGlobalState } from './factory/createGlobalState'; -export { useHash } from './useHash'; +// export { default as useSpring } from './useSpring.js'; +export { default as useStartTyping } from './useStartTyping.js'; +export { useStateWithHistory } from './useStateWithHistory.js'; +export { default as useStateList } from './useStateList.js'; +export { default as useThrottle } from './useThrottle.js'; +export { default as useThrottleFn } from './useThrottleFn.js'; +export { default as useTimeout } from './useTimeout.js'; +export { default as useTimeoutFn } from './useTimeoutFn.js'; +export { default as useTitle } from './useTitle.js'; +export { default as useToggle } from './useToggle.js'; +export { default as useTween } from './useTween.js'; +export { default as useUnmount } from './useUnmount.js'; +export { default as useUnmountPromise } from './useUnmountPromise.js'; +export { default as useUpdate } from './useUpdate.js'; +export { default as useUpdateEffect } from './useUpdateEffect.js'; +export { default as useUpsert } from './useUpsert.js'; +export { default as useVibrate } from './useVibrate.js'; +export { default as useVideo } from './useVideo.js'; +export { default as useStateValidator } from './useStateValidator.js'; +export { useScrollbarWidth } from './useScrollbarWidth.js'; +export { useMultiStateValidator } from './useMultiStateValidator.js'; +export { default as useWindowScroll } from './useWindowScroll.js'; +export { default as useWindowSize } from './useWindowSize.js'; +export { default as useMeasure } from './useMeasure.js'; +export { default as usePinchZoom } from './usePinchZoom.js'; +export { useRendersCount } from './useRendersCount.js'; +export { useFirstMountState } from './useFirstMountState.js'; +export { default as useSet } from './useSet.js'; +export { createGlobalState } from './factory/createGlobalState.js'; +export { useHash } from './useHash.js'; diff --git a/src/useAsync.ts b/src/useAsync.ts index f30c85caa90..4ecec79e6f6 100644 --- a/src/useAsync.ts +++ b/src/useAsync.ts @@ -1,8 +1,8 @@ import { DependencyList, useEffect } from 'react'; -import useAsyncFn from './useAsyncFn'; -import { FunctionReturningPromise } from './misc/types'; +import useAsyncFn from './useAsyncFn.js'; +import { FunctionReturningPromise } from './misc/types.js'; -export { AsyncState, AsyncFnReturn } from './useAsyncFn'; +export { AsyncState, AsyncFnReturn } from './useAsyncFn.js'; export default function useAsync( fn: T, diff --git a/src/useAsyncFn.ts b/src/useAsyncFn.ts index d330ffbadce..335f1d5aca2 100644 --- a/src/useAsyncFn.ts +++ b/src/useAsyncFn.ts @@ -1,6 +1,6 @@ import { DependencyList, useCallback, useRef, useState } from 'react'; -import useMountedState from './useMountedState'; -import { FunctionReturningPromise, PromiseType } from './misc/types'; +import useMountedState from './useMountedState.js'; +import { FunctionReturningPromise, PromiseType } from './misc/types.js'; export type AsyncState = | { diff --git a/src/useAsyncRetry.ts b/src/useAsyncRetry.ts index 04119d957f8..ecc5d1ed3d7 100644 --- a/src/useAsyncRetry.ts +++ b/src/useAsyncRetry.ts @@ -1,5 +1,5 @@ import { DependencyList, useCallback, useState } from 'react'; -import useAsync, { AsyncState } from './useAsync'; +import useAsync, { AsyncState } from './useAsync.js'; export type AsyncStateRetry = AsyncState & { retry(): void; diff --git a/src/useAudio.ts b/src/useAudio.ts index 8861d939332..afe115589e4 100644 --- a/src/useAudio.ts +++ b/src/useAudio.ts @@ -1,4 +1,4 @@ -import createHTMLMediaHook from './factory/createHTMLMediaHook'; +import createHTMLMediaHook from './factory/createHTMLMediaHook.js'; const useAudio = createHTMLMediaHook('audio'); export default useAudio; diff --git a/src/useBattery.ts b/src/useBattery.ts index 80d118ac745..a5d0851edf0 100644 --- a/src/useBattery.ts +++ b/src/useBattery.ts @@ -1,6 +1,6 @@ import { useEffect, useState } from 'react'; -import { isNavigator, off, on } from './misc/util'; -import isDeepEqual from './misc/isDeepEqual'; +import { isNavigator, off, on } from './misc/util.js'; +import isDeepEqual from './misc/isDeepEqual.js'; export interface BatteryState { charging: boolean; diff --git a/src/useBeforeUnload.ts b/src/useBeforeUnload.ts index 4d12e77aa62..06da26ac929 100644 --- a/src/useBeforeUnload.ts +++ b/src/useBeforeUnload.ts @@ -1,5 +1,5 @@ import { useCallback, useEffect } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; const useBeforeUnload = (enabled: boolean | (() => boolean) = true, message?: string) => { const handler = useCallback( diff --git a/src/useBoolean.ts b/src/useBoolean.ts index 39edec07e53..4cb6aee5f5c 100644 --- a/src/useBoolean.ts +++ b/src/useBoolean.ts @@ -1,3 +1,3 @@ -import useBoolean from './useToggle'; +import useBoolean from './useToggle.js'; export default useBoolean; diff --git a/src/useClickAway.ts b/src/useClickAway.ts index e5367d0f8d3..dec801e8204 100644 --- a/src/useClickAway.ts +++ b/src/useClickAway.ts @@ -1,5 +1,5 @@ import { RefObject, useEffect, useRef } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; const defaultEvents = ['mousedown', 'touchstart']; diff --git a/src/useCopyToClipboard.ts b/src/useCopyToClipboard.ts index 9656d9efd77..c10e7a1ffb7 100644 --- a/src/useCopyToClipboard.ts +++ b/src/useCopyToClipboard.ts @@ -1,7 +1,7 @@ import writeText from 'copy-to-clipboard'; import { useCallback } from 'react'; -import useMountedState from './useMountedState'; -import useSetState from './useSetState'; +import useMountedState from './useMountedState.js'; +import useSetState from './useSetState.js'; export interface CopyToClipboardState { value?: string; diff --git a/src/useCounter.ts b/src/useCounter.ts index cb4a3b830ac..ec22413f56b 100644 --- a/src/useCounter.ts +++ b/src/useCounter.ts @@ -1,6 +1,6 @@ import { useMemo } from 'react'; -import useGetSet from './useGetSet'; -import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from './misc/hookState'; +import useGetSet from './useGetSet.js'; +import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from './misc/hookState.js'; export interface CounterActions { inc: (delta?: number) => void; diff --git a/src/useCss.ts b/src/useCss.ts index 5617fe3f974..31353f2498b 100644 --- a/src/useCss.ts +++ b/src/useCss.ts @@ -3,7 +3,7 @@ import { addon as addonCSSOM, CSSOMAddon } from 'nano-css/addon/cssom'; import { addon as addonVCSSOM, VCSSOMAddon } from 'nano-css/addon/vcssom'; import { cssToTree } from 'nano-css/addon/vcssom/cssToTree'; import { useMemo } from 'react'; -import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'; +import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect.js'; type Nano = NanoRenderer & CSSOMAddon & VCSSOMAddon; const nano = create() as Nano; diff --git a/src/useDebounce.ts b/src/useDebounce.ts index 70956d82a11..68f40898ece 100644 --- a/src/useDebounce.ts +++ b/src/useDebounce.ts @@ -1,5 +1,5 @@ import { DependencyList, useEffect } from 'react'; -import useTimeoutFn from './useTimeoutFn'; +import useTimeoutFn from './useTimeoutFn.js'; export type UseDebounceReturn = [() => boolean | null, () => void]; diff --git a/src/useDeepCompareEffect.ts b/src/useDeepCompareEffect.ts index 14c08c4ff08..921d67bdbee 100644 --- a/src/useDeepCompareEffect.ts +++ b/src/useDeepCompareEffect.ts @@ -1,6 +1,6 @@ import { DependencyList, EffectCallback } from 'react'; -import useCustomCompareEffect from './useCustomCompareEffect'; -import isDeepEqual from './misc/isDeepEqual'; +import useCustomCompareEffect from './useCustomCompareEffect.js'; +import isDeepEqual from './misc/isDeepEqual.js'; const isPrimitive = (val: any) => val !== Object(val); diff --git a/src/useDrop.ts b/src/useDrop.ts index c4c353a9f17..78c1e1fed4a 100644 --- a/src/useDrop.ts +++ b/src/useDrop.ts @@ -1,5 +1,5 @@ import { useCallback, useEffect, useMemo, useState } from 'react'; -import { noop, off, on } from './misc/util'; +import { noop, off, on } from './misc/util.js'; export interface DropAreaState { over: boolean; diff --git a/src/useDropArea.ts b/src/useDropArea.ts index 52ca8fae627..396d19be3b9 100644 --- a/src/useDropArea.ts +++ b/src/useDropArea.ts @@ -1,6 +1,6 @@ import { useMemo, useState } from 'react'; -import useMountedState from './useMountedState'; -import { noop } from './misc/util'; +import useMountedState from './useMountedState.js'; +import { noop } from './misc/util.js'; export interface DropAreaState { over: boolean; diff --git a/src/useEvent.ts b/src/useEvent.ts index c0a16730517..34b9489cfd3 100644 --- a/src/useEvent.ts +++ b/src/useEvent.ts @@ -1,5 +1,5 @@ import { useEffect } from 'react'; -import { isBrowser, off, on } from './misc/util'; +import { isBrowser, off, on } from './misc/util.js'; export interface ListenerType1 { addEventListener(name: string, handler: (event?: any) => void, ...args: any[]); diff --git a/src/useFullscreen.ts b/src/useFullscreen.ts index f795bb3b145..7c2a4f4031a 100644 --- a/src/useFullscreen.ts +++ b/src/useFullscreen.ts @@ -1,7 +1,7 @@ import { RefObject, useState } from 'react'; import screenfull from 'screenfull'; -import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'; -import { noop, off, on } from './misc/util'; +import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect.js'; +import { noop, off, on } from './misc/util.js'; export interface FullScreenOptions { video?: RefObject< diff --git a/src/useGetSet.ts b/src/useGetSet.ts index 56a6b99af1e..b379e807010 100644 --- a/src/useGetSet.ts +++ b/src/useGetSet.ts @@ -1,6 +1,6 @@ import { Dispatch, useMemo, useRef } from 'react'; -import useUpdate from './useUpdate'; -import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from './misc/hookState'; +import useUpdate from './useUpdate.js'; +import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from './misc/hookState.js'; export default function useGetSet( initialState: IHookStateInitAction diff --git a/src/useGetSetState.ts b/src/useGetSetState.ts index 061c178b7e4..70f930d1e94 100644 --- a/src/useGetSetState.ts +++ b/src/useGetSetState.ts @@ -1,5 +1,5 @@ import { useCallback, useRef } from 'react'; -import useUpdate from './useUpdate'; +import useUpdate from './useUpdate.js'; const useGetSetState = ( initialState: T = {} as T diff --git a/src/useHash.ts b/src/useHash.ts index 6d936d333a8..a5f9a2c4619 100644 --- a/src/useHash.ts +++ b/src/useHash.ts @@ -1,6 +1,6 @@ import { useCallback, useState } from 'react'; -import useLifecycles from './useLifecycles'; -import { off, on } from './misc/util'; +import useLifecycles from './useLifecycles.js'; +import { off, on } from './misc/util.js'; /** * read and write url hash, response to url hash change diff --git a/src/useHover.ts b/src/useHover.ts index 98b5908a8d2..41287a1411a 100644 --- a/src/useHover.ts +++ b/src/useHover.ts @@ -1,5 +1,5 @@ import * as React from 'react'; -import { noop } from './misc/util'; +import { noop } from './misc/util.js'; const { useState } = React; diff --git a/src/useHoverDirty.ts b/src/useHoverDirty.ts index 4f983a489ab..0e348770414 100644 --- a/src/useHoverDirty.ts +++ b/src/useHoverDirty.ts @@ -1,5 +1,5 @@ import { RefObject, useEffect, useState } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; // kudos: https://usehooks.com/ const useHoverDirty = (ref: RefObject, enabled: boolean = true) => { diff --git a/src/useIdle.ts b/src/useIdle.ts index e5eb9a152fc..21477337484 100644 --- a/src/useIdle.ts +++ b/src/useIdle.ts @@ -1,6 +1,6 @@ import { useEffect, useState } from 'react'; import { throttle } from 'throttle-debounce'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; const defaultEvents = ['mousemove', 'mousedown', 'resize', 'keydown', 'touchstart', 'wheel']; const oneMinute = 60e3; diff --git a/src/useIsomorphicLayoutEffect.ts b/src/useIsomorphicLayoutEffect.ts index 71f7c3423a2..8550851e6a7 100644 --- a/src/useIsomorphicLayoutEffect.ts +++ b/src/useIsomorphicLayoutEffect.ts @@ -1,5 +1,5 @@ import { useEffect, useLayoutEffect } from 'react'; -import { isBrowser } from './misc/util'; +import { isBrowser } from './misc/util.js'; const useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect; diff --git a/src/useKey.ts b/src/useKey.ts index 03f403bf24a..1f866e4f6a2 100644 --- a/src/useKey.ts +++ b/src/useKey.ts @@ -1,6 +1,6 @@ import { DependencyList, useMemo } from 'react'; -import useEvent, { UseEventOptions, UseEventTarget } from './useEvent'; -import { noop } from './misc/util'; +import useEvent, { UseEventOptions, UseEventTarget } from './useEvent.js'; +import { noop } from './misc/util.js'; export type KeyPredicate = (event: KeyboardEvent) => boolean; export type KeyFilter = null | undefined | string | ((event: KeyboardEvent) => boolean); diff --git a/src/useKeyPress.ts b/src/useKeyPress.ts index 2f48e0fb31b..bcf2a343f85 100644 --- a/src/useKeyPress.ts +++ b/src/useKeyPress.ts @@ -1,5 +1,5 @@ import { useState } from 'react'; -import useKey, { KeyFilter } from './useKey'; +import useKey, { KeyFilter } from './useKey.js'; const useKeyPress = (keyFilter: KeyFilter) => { const [state, set] = useState<[boolean, null | KeyboardEvent]>([false, null]); diff --git a/src/useKeyPressEvent.ts b/src/useKeyPressEvent.ts index 9b694b6077b..073aa1e984c 100644 --- a/src/useKeyPressEvent.ts +++ b/src/useKeyPressEvent.ts @@ -1,6 +1,6 @@ -import { Handler, KeyFilter } from './useKey'; -import useKeyPressDefault from './useKeyPress'; -import useUpdateEffect from './useUpdateEffect'; +import { Handler, KeyFilter } from './useKey.js'; +import useKeyPressDefault from './useKeyPress.js'; +import useUpdateEffect from './useUpdateEffect.js'; const useKeyPressEvent = ( key: string | KeyFilter, diff --git a/src/useKeyboardJs.ts b/src/useKeyboardJs.ts index bdf13564e06..d16786ee568 100644 --- a/src/useKeyboardJs.ts +++ b/src/useKeyboardJs.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import useMount from './useMount'; +import useMount from './useMount.js'; const useKeyboardJs = (combination: string | string[]) => { const [state, set] = useState<[boolean, null | KeyboardEvent]>([false, null]); diff --git a/src/useList.ts b/src/useList.ts index dd592df30d6..1b00655380c 100644 --- a/src/useList.ts +++ b/src/useList.ts @@ -1,6 +1,6 @@ import { useMemo, useRef } from 'react'; -import useUpdate from './useUpdate'; -import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from './misc/hookState'; +import useUpdate from './useUpdate.js'; +import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from './misc/hookState.js'; export interface ListActions { /** diff --git a/src/useLocalStorage.ts b/src/useLocalStorage.ts index def6ad804af..b2c02cc6181 100644 --- a/src/useLocalStorage.ts +++ b/src/useLocalStorage.ts @@ -1,5 +1,5 @@ import { Dispatch, SetStateAction, useCallback, useState, useRef, useLayoutEffect } from 'react'; -import { isBrowser, noop } from './misc/util'; +import { isBrowser, noop } from './misc/util.js'; type parserOptions = | { diff --git a/src/useLocation.ts b/src/useLocation.ts index bffdca20b02..b87a9c90b2b 100644 --- a/src/useLocation.ts +++ b/src/useLocation.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { isBrowser, off, on } from './misc/util'; +import { isBrowser, off, on } from './misc/util.js'; const patchHistoryMethod = (method) => { const history = window.history; diff --git a/src/useLockBodyScroll.ts b/src/useLockBodyScroll.ts index fd48658917c..aa2163dc3da 100644 --- a/src/useLockBodyScroll.ts +++ b/src/useLockBodyScroll.ts @@ -1,5 +1,5 @@ import { RefObject, useEffect, useRef } from 'react'; -import { isBrowser, off, on } from './misc/util'; +import { isBrowser, off, on } from './misc/util.js'; export function getClosestBody( el: Element | HTMLElement | HTMLIFrameElement | null diff --git a/src/useLogger.ts b/src/useLogger.ts index 6ae5a8c5f85..892aa2aa380 100644 --- a/src/useLogger.ts +++ b/src/useLogger.ts @@ -1,5 +1,5 @@ -import useEffectOnce from './useEffectOnce'; -import useUpdateEffect from './useUpdateEffect'; +import useEffectOnce from './useEffectOnce.js'; +import useUpdateEffect from './useUpdateEffect.js'; const useLogger = (componentName: string, ...rest) => { useEffectOnce(() => { diff --git a/src/useLongPress.ts b/src/useLongPress.ts index a885e091f5d..660d3d112f4 100644 --- a/src/useLongPress.ts +++ b/src/useLongPress.ts @@ -1,5 +1,5 @@ import { useCallback, useRef } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; interface Options { isPreventDefault?: boolean; diff --git a/src/useMeasure.ts b/src/useMeasure.ts index e14f217f1cc..fa7e3f178e7 100644 --- a/src/useMeasure.ts +++ b/src/useMeasure.ts @@ -1,6 +1,6 @@ import { useMemo, useState } from 'react'; -import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'; -import { isBrowser, noop } from './misc/util'; +import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect.js'; +import { isBrowser, noop } from './misc/util.js'; export type UseMeasureRect = Pick< DOMRectReadOnly, diff --git a/src/useMedia.ts b/src/useMedia.ts index c0f3d962815..e9526358ba3 100644 --- a/src/useMedia.ts +++ b/src/useMedia.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { isBrowser } from './misc/util'; +import { isBrowser } from './misc/util.js'; const getInitialState = (query: string, defaultState?: boolean) => { // Prevent a React hydration mismatch when a default value is provided by not defaulting to window.matchMedia(query).matches. diff --git a/src/useMediaDevices.ts b/src/useMediaDevices.ts index 50dc53b297f..7358f414de3 100644 --- a/src/useMediaDevices.ts +++ b/src/useMediaDevices.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { isNavigator, noop, off, on } from './misc/util'; +import { isNavigator, noop, off, on } from './misc/util.js'; const useMediaDevices = () => { const [state, setState] = useState({}); diff --git a/src/useMotion.ts b/src/useMotion.ts index cb3d867c448..6e9d117b41d 100644 --- a/src/useMotion.ts +++ b/src/useMotion.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; export interface MotionSensorState { acceleration: { diff --git a/src/useMount.ts b/src/useMount.ts index 90d09011cf1..d392ecbdb8b 100644 --- a/src/useMount.ts +++ b/src/useMount.ts @@ -1,4 +1,4 @@ -import useEffectOnce from './useEffectOnce'; +import useEffectOnce from './useEffectOnce.js'; const useMount = (fn: () => void) => { useEffectOnce(() => { diff --git a/src/useMouse.ts b/src/useMouse.ts index cbebbba4efa..620e062a042 100644 --- a/src/useMouse.ts +++ b/src/useMouse.ts @@ -1,7 +1,7 @@ import { RefObject, useEffect } from 'react'; -import useRafState from './useRafState'; -import { off, on } from './misc/util'; +import useRafState from './useRafState.js'; +import { off, on } from './misc/util.js'; export interface State { docX: number; diff --git a/src/useMouseHovered.ts b/src/useMouseHovered.ts index de736afa856..383f6160a94 100644 --- a/src/useMouseHovered.ts +++ b/src/useMouseHovered.ts @@ -1,6 +1,6 @@ import { RefObject } from 'react'; -import useHoverDirty from './useHoverDirty'; -import useMouse, { State } from './useMouse'; +import useHoverDirty from './useHoverDirty.js'; +import useMouse, { State } from './useMouse.js'; export interface UseMouseHoveredOptions { whenHovered?: boolean; diff --git a/src/useMouseWheel.ts b/src/useMouseWheel.ts index 31638f392f9..a1ec0f8384a 100644 --- a/src/useMouseWheel.ts +++ b/src/useMouseWheel.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; export default () => { const [mouseWheelScrolled, setMouseWheelScrolled] = useState(0); diff --git a/src/useMultiStateValidator.ts b/src/useMultiStateValidator.ts index 5b01768686f..09dfc81976a 100644 --- a/src/useMultiStateValidator.ts +++ b/src/useMultiStateValidator.ts @@ -1,5 +1,5 @@ import { useCallback, useEffect, useRef, useState } from 'react'; -import { StateValidator, UseStateValidatorReturn, ValidityState } from './useStateValidator'; +import { StateValidator, UseStateValidatorReturn, ValidityState } from './useStateValidator.js'; export type MultiStateValidatorStates = any[] | { [p: string]: any } | { [p: number]: any }; export type MultiStateValidator = diff --git a/src/useNetworkState.ts b/src/useNetworkState.ts index 0d48439d199..61ce584189e 100644 --- a/src/useNetworkState.ts +++ b/src/useNetworkState.ts @@ -1,6 +1,6 @@ import { useEffect, useState } from 'react'; -import { isNavigator, off, on } from './misc/util'; -import { IHookStateInitAction } from './misc/hookState'; +import { isNavigator, off, on } from './misc/util.js'; +import { IHookStateInitAction } from './misc/hookState.js'; export interface INetworkInformation extends EventTarget { readonly downlink: number; diff --git a/src/useNumber.ts b/src/useNumber.ts index 79393d5f833..877e80fdf13 100644 --- a/src/useNumber.ts +++ b/src/useNumber.ts @@ -1,3 +1,3 @@ -import useNumber from './useCounter'; +import useNumber from './useCounter.js'; export default useNumber; diff --git a/src/useObservable.ts b/src/useObservable.ts index dfe64d67dc2..9ceba9f9496 100644 --- a/src/useObservable.ts +++ b/src/useObservable.ts @@ -1,5 +1,5 @@ import { useState } from 'react'; -import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'; +import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect.js'; export interface Observable { subscribe: (listener: (value: T) => void) => { diff --git a/src/useOrientation.ts b/src/useOrientation.ts index b5365af90fd..f65e354e185 100644 --- a/src/useOrientation.ts +++ b/src/useOrientation.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; export interface OrientationState { angle: number; diff --git a/src/usePageLeave.ts b/src/usePageLeave.ts index 5a41e92ebcf..62bfcca2939 100644 --- a/src/usePageLeave.ts +++ b/src/usePageLeave.ts @@ -1,5 +1,5 @@ import { useEffect } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; const usePageLeave = (onPageLeave, args = []) => { useEffect(() => { diff --git a/src/usePermission.ts b/src/usePermission.ts index 0aae85f55ca..ba116d5f954 100644 --- a/src/usePermission.ts +++ b/src/usePermission.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { noop, off, on } from './misc/util'; +import { noop, off, on } from './misc/util.js'; export type IState = PermissionState | ''; diff --git a/src/usePreviousDistinct.ts b/src/usePreviousDistinct.ts index 10bf5f82935..0c3e39798f8 100644 --- a/src/usePreviousDistinct.ts +++ b/src/usePreviousDistinct.ts @@ -1,5 +1,5 @@ import { useRef } from 'react'; -import { useFirstMountState } from './useFirstMountState'; +import { useFirstMountState } from './useFirstMountState.js'; export type Predicate = (prev: T | undefined, next: T) => boolean; diff --git a/src/usePromise.ts b/src/usePromise.ts index ede5732cae4..0cb018412f3 100644 --- a/src/usePromise.ts +++ b/src/usePromise.ts @@ -1,5 +1,5 @@ import { useCallback } from 'react'; -import useMountedState from './useMountedState'; +import useMountedState from './useMountedState.js'; export type UsePromise = () => (promise: Promise) => Promise; diff --git a/src/useRaf.ts b/src/useRaf.ts index 7ad5ef2613c..c64eb9a6064 100644 --- a/src/useRaf.ts +++ b/src/useRaf.ts @@ -1,5 +1,5 @@ import { useState } from 'react'; -import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'; +import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect.js'; const useRaf = (ms: number = 1e12, delay: number = 0): number => { const [elapsed, set] = useState(0); diff --git a/src/useRafState.ts b/src/useRafState.ts index c42c5362d1d..cd8c2af1a04 100644 --- a/src/useRafState.ts +++ b/src/useRafState.ts @@ -1,6 +1,6 @@ import { Dispatch, SetStateAction, useCallback, useRef, useState } from 'react'; -import useUnmount from './useUnmount'; +import useUnmount from './useUnmount.js'; const useRafState = (initialState: S | (() => S)): [S, Dispatch>] => { const frame = useRef(0); diff --git a/src/useScratch.ts b/src/useScratch.ts index 68b793f85cd..7df64eb2a9f 100644 --- a/src/useScratch.ts +++ b/src/useScratch.ts @@ -1,7 +1,7 @@ import { cloneElement, FC, useEffect, useRef, useState } from 'react'; import { render } from 'react-universal-interface'; -import useLatest from './useLatest'; -import { noop, off, on } from './misc/util'; +import useLatest from './useLatest.js'; +import { noop, off, on } from './misc/util.js'; export interface ScratchSensorParams { disabled?: boolean; diff --git a/src/useScroll.ts b/src/useScroll.ts index 3b8dab21748..03f55d1197e 100644 --- a/src/useScroll.ts +++ b/src/useScroll.ts @@ -1,7 +1,7 @@ import { RefObject, useEffect } from 'react'; -import useRafState from './useRafState'; -import { off, on } from './misc/util'; +import useRafState from './useRafState.js'; +import { off, on } from './misc/util.js'; export interface State { x: number; diff --git a/src/useScrolling.ts b/src/useScrolling.ts index 2e2ddbef9a5..4054c65331c 100644 --- a/src/useScrolling.ts +++ b/src/useScrolling.ts @@ -1,5 +1,5 @@ import { RefObject, useEffect, useState } from 'react'; -import { off, on } from './misc/util'; +import { off, on } from './misc/util.js'; const useScrolling = (ref: RefObject): boolean => { const [scrolling, setScrolling] = useState(false); diff --git a/src/useSearchParam.ts b/src/useSearchParam.ts index 64440d200e4..0a0dc6fabc4 100644 --- a/src/useSearchParam.ts +++ b/src/useSearchParam.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { isBrowser, off, on } from './misc/util'; +import { isBrowser, off, on } from './misc/util.js'; const getValue = (search: string, param: string) => new URLSearchParams(search).get(param); diff --git a/src/useSessionStorage.ts b/src/useSessionStorage.ts index 67e97c88143..b51d06adbaa 100644 --- a/src/useSessionStorage.ts +++ b/src/useSessionStorage.ts @@ -1,5 +1,5 @@ import { useEffect, useState } from 'react'; -import { isBrowser } from './misc/util'; +import { isBrowser } from './misc/util.js'; const useSessionStorage = ( key: string, diff --git a/src/useShallowCompareEffect.ts b/src/useShallowCompareEffect.ts index 2c6e4808c95..2909d3b7473 100644 --- a/src/useShallowCompareEffect.ts +++ b/src/useShallowCompareEffect.ts @@ -1,6 +1,6 @@ import { DependencyList, EffectCallback } from 'react'; import { equal as isShallowEqual } from 'fast-shallow-equal'; -import useCustomCompareEffect from './useCustomCompareEffect'; +import useCustomCompareEffect from './useCustomCompareEffect.js'; const isPrimitive = (val: any) => val !== Object(val); const shallowEqualDepsList = (prevDeps: DependencyList, nextDeps: DependencyList) => diff --git a/src/useSize.tsx b/src/useSize.tsx index 4c6271fe594..c23bf9b30d3 100644 --- a/src/useSize.tsx +++ b/src/useSize.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { isBrowser, off, on } from './misc/util'; +import { isBrowser, off, on } from './misc/util.js'; const { useState, useEffect, useRef } = React; diff --git a/src/useSlider.ts b/src/useSlider.ts index b7826827e8e..b5e1c69eeaf 100644 --- a/src/useSlider.ts +++ b/src/useSlider.ts @@ -1,7 +1,7 @@ import { CSSProperties, RefObject, useEffect, useRef } from 'react'; -import { isBrowser, noop, off, on } from './misc/util'; -import useMountedState from './useMountedState'; -import useSetState from './useSetState'; +import { isBrowser, noop, off, on } from './misc/util.js'; +import useMountedState from './useMountedState.js'; +import useSetState from './useSetState.js'; export interface State { isSliding: boolean; diff --git a/src/useStartTyping.ts b/src/useStartTyping.ts index 1e04f63d6f6..c36904d3186 100644 --- a/src/useStartTyping.ts +++ b/src/useStartTyping.ts @@ -1,5 +1,5 @@ -import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect'; -import { off, on } from './misc/util'; +import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect.js'; +import { off, on } from './misc/util.js'; const isFocusedElementEditable = () => { const { activeElement, body } = document; diff --git a/src/useStateList.ts b/src/useStateList.ts index 748e317c8a2..127ce169a33 100644 --- a/src/useStateList.ts +++ b/src/useStateList.ts @@ -1,7 +1,7 @@ import { useMemo, useRef } from 'react'; -import useMountedState from './useMountedState'; -import useUpdate from './useUpdate'; -import useUpdateEffect from './useUpdateEffect'; +import useMountedState from './useMountedState.js'; +import useUpdate from './useUpdate.js'; +import useUpdateEffect from './useUpdateEffect.js'; export interface UseStateListReturn { state: T; diff --git a/src/useStateWithHistory.ts b/src/useStateWithHistory.ts index 7e2b442cbf3..87cc87a595a 100644 --- a/src/useStateWithHistory.ts +++ b/src/useStateWithHistory.ts @@ -1,6 +1,6 @@ import { Dispatch, useCallback, useMemo, useRef, useState } from 'react'; -import { useFirstMountState } from './useFirstMountState'; -import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from './misc/hookState'; +import { useFirstMountState } from './useFirstMountState.js'; +import { IHookStateInitAction, IHookStateSetAction, resolveHookState } from './misc/hookState.js'; interface HistoryState { history: S[]; diff --git a/src/useThrottle.ts b/src/useThrottle.ts index b231ba626d1..24aedf1da62 100644 --- a/src/useThrottle.ts +++ b/src/useThrottle.ts @@ -1,5 +1,5 @@ import { useEffect, useRef, useState } from 'react'; -import useUnmount from './useUnmount'; +import useUnmount from './useUnmount.js'; const useThrottle = (value: T, ms: number = 200) => { const [state, setState] = useState(value); diff --git a/src/useThrottleFn.ts b/src/useThrottleFn.ts index 7b197a1f41c..4362a4ec787 100644 --- a/src/useThrottleFn.ts +++ b/src/useThrottleFn.ts @@ -1,5 +1,5 @@ import { useEffect, useRef, useState } from 'react'; -import useUnmount from './useUnmount'; +import useUnmount from './useUnmount.js'; const useThrottleFn = (fn: (...args: U) => T, ms: number = 200, args: U) => { const [state, setState] = useState(null); diff --git a/src/useTimeout.ts b/src/useTimeout.ts index 387a7c768df..cc38d0a74eb 100644 --- a/src/useTimeout.ts +++ b/src/useTimeout.ts @@ -1,5 +1,5 @@ -import useTimeoutFn from './useTimeoutFn'; -import useUpdate from './useUpdate'; +import useTimeoutFn from './useTimeoutFn.js'; +import useUpdate from './useUpdate.js'; export type UseTimeoutReturn = [() => boolean | null, () => void, () => void]; diff --git a/src/useTween.ts b/src/useTween.ts index 8066260bbb9..705ef32d8be 100644 --- a/src/useTween.ts +++ b/src/useTween.ts @@ -1,5 +1,5 @@ import { easing } from 'ts-easing'; -import useRaf from './useRaf'; +import useRaf from './useRaf.js'; export type Easing = (t: number) => number; diff --git a/src/useUnmount.ts b/src/useUnmount.ts index 2bd460e959a..999f7bd7a11 100644 --- a/src/useUnmount.ts +++ b/src/useUnmount.ts @@ -1,5 +1,5 @@ import { useRef } from 'react'; -import useEffectOnce from './useEffectOnce'; +import useEffectOnce from './useEffectOnce.js'; const useUnmount = (fn: () => any): void => { const fnRef = useRef(fn); diff --git a/src/useUnmountPromise.ts b/src/useUnmountPromise.ts index 7a2f09654ca..f4c60f8af29 100644 --- a/src/useUnmountPromise.ts +++ b/src/useUnmountPromise.ts @@ -1,5 +1,5 @@ import { useMemo, useRef } from 'react'; -import useEffectOnce from './useEffectOnce'; +import useEffectOnce from './useEffectOnce.js'; export type Race =

, E = any>(promise: P, onError?: (error: E) => void) => P; diff --git a/src/useUpdateEffect.ts b/src/useUpdateEffect.ts index 736abf8c0cf..7a51a876c06 100644 --- a/src/useUpdateEffect.ts +++ b/src/useUpdateEffect.ts @@ -1,5 +1,5 @@ import { useEffect } from 'react'; -import { useFirstMountState } from './useFirstMountState'; +import { useFirstMountState } from './useFirstMountState.js'; const useUpdateEffect: typeof useEffect = (effect, deps) => { const isFirstMount = useFirstMountState(); diff --git a/src/useUpsert.ts b/src/useUpsert.ts index 2fdb3d8fc38..b4854ed6760 100644 --- a/src/useUpsert.ts +++ b/src/useUpsert.ts @@ -1,5 +1,5 @@ -import useList, { ListActions } from './useList'; -import { IHookStateInitAction } from './misc/hookState'; +import useList, { ListActions } from './useList.js'; +import { IHookStateInitAction } from './misc/hookState.js'; export interface UpsertListActions extends Omit, 'upsert'> { upsert: (newItem: T) => void; diff --git a/src/useVibrate.ts b/src/useVibrate.ts index 3481fc13791..f00ab54b1ed 100644 --- a/src/useVibrate.ts +++ b/src/useVibrate.ts @@ -1,5 +1,5 @@ import { useEffect } from 'react'; -import { isNavigator, noop } from './misc/util'; +import { isNavigator, noop } from './misc/util.js'; export type VibrationPattern = number | number[]; diff --git a/src/useVideo.ts b/src/useVideo.ts index 5cfb7ed0f8c..534589b6be1 100644 --- a/src/useVideo.ts +++ b/src/useVideo.ts @@ -1,4 +1,4 @@ -import createHTMLMediaHook from './factory/createHTMLMediaHook'; +import createHTMLMediaHook from './factory/createHTMLMediaHook.js'; const useVideo = createHTMLMediaHook('video'); diff --git a/src/useWindowScroll.ts b/src/useWindowScroll.ts index 36ae8e18047..0a57a160b27 100644 --- a/src/useWindowScroll.ts +++ b/src/useWindowScroll.ts @@ -1,7 +1,7 @@ import { useEffect } from 'react'; -import { isBrowser, off, on } from './misc/util'; -import useRafState from './useRafState'; +import { isBrowser, off, on } from './misc/util.js'; +import useRafState from './useRafState.js'; export interface State { x: number; diff --git a/src/useWindowSize.ts b/src/useWindowSize.ts index 10d9402767e..c6d16cba95a 100644 --- a/src/useWindowSize.ts +++ b/src/useWindowSize.ts @@ -1,7 +1,7 @@ import { useEffect } from 'react'; -import useRafState from './useRafState'; -import { isBrowser, off, on } from './misc/util'; +import useRafState from './useRafState.js'; +import { isBrowser, off, on } from './misc/util.js'; // Define the type for options that can be passed to the hook interface Options {