@siberiacancode/reactuse 0.3.12 → 0.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +71 -71
- package/dist/cjs/_virtual/client.cjs +2 -0
- package/dist/cjs/_virtual/client.cjs.map +1 -0
- package/dist/cjs/_virtual/client2.cjs +2 -0
- package/dist/cjs/_virtual/client2.cjs.map +1 -0
- package/dist/cjs/_virtual/index.cjs +2 -0
- package/dist/cjs/_virtual/index.cjs.map +1 -0
- package/dist/cjs/_virtual/react-dom-client.development.cjs +2 -0
- package/dist/cjs/_virtual/react-dom-client.development.cjs.map +1 -0
- package/dist/cjs/_virtual/react-dom-client.production.cjs +2 -0
- package/dist/cjs/_virtual/react-dom-client.production.cjs.map +1 -0
- package/dist/cjs/_virtual/scheduler.development.cjs +2 -0
- package/dist/cjs/_virtual/scheduler.development.cjs.map +1 -0
- package/dist/cjs/_virtual/scheduler.production.cjs +2 -0
- package/dist/cjs/_virtual/scheduler.production.cjs.map +1 -0
- package/dist/cjs/helpers/createContext/createContext.cjs +1 -1
- package/dist/cjs/helpers/createContext/createContext.cjs.map +1 -1
- package/dist/cjs/helpers/createContextHook/createContextHook.cjs +2 -0
- package/dist/cjs/helpers/createContextHook/createContextHook.cjs.map +1 -0
- package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs +1 -1
- package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs +2 -0
- package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs.map +1 -0
- package/dist/cjs/helpers/createStore/createStore.cjs +1 -1
- package/dist/cjs/hooks/useAsync/useAsync.cjs +1 -1
- package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs +1 -1
- package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs +1 -1
- package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs.map +1 -1
- package/dist/cjs/hooks/useBattery/useBattery.cjs +1 -1
- package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs +1 -1
- package/dist/cjs/hooks/useBoolean/useBoolean.cjs +1 -1
- package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs +1 -1
- package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs +1 -1
- package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs +1 -1
- package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs +1 -1
- package/dist/cjs/hooks/useControllableState/useControllableState.cjs +1 -1
- package/dist/cjs/hooks/useCookie/useCookie.cjs +1 -1
- package/dist/cjs/hooks/useCookies/useCookies.cjs +1 -1
- package/dist/cjs/hooks/useCopy/useCopy.cjs +1 -1
- package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs +1 -1
- package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs +1 -1
- package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs +1 -1
- package/dist/cjs/hooks/useDefault/useDefault.cjs +1 -1
- package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs +1 -1
- package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs +1 -1
- package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs +1 -1
- package/dist/cjs/hooks/useDropZone/useDropZone.cjs +1 -1
- package/dist/cjs/hooks/useDropZone/useDropZone.cjs.map +1 -1
- package/dist/cjs/hooks/useEvent/useEvent.cjs +1 -1
- package/dist/cjs/hooks/useEventListener/useEventListener.cjs +1 -1
- package/dist/cjs/hooks/useEventSource/useEventSource.cjs +1 -1
- package/dist/cjs/hooks/useFavicon/useFavicon.cjs +1 -1
- package/dist/cjs/hooks/useField/useField.cjs +1 -1
- package/dist/cjs/hooks/useField/useField.cjs.map +1 -1
- package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs +1 -1
- package/dist/cjs/hooks/useFps/useFps.cjs +1 -1
- package/dist/cjs/hooks/useFul/useFul.cjs +1 -1
- package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs +1 -1
- package/dist/cjs/hooks/useGamepad/useGamepad.cjs +1 -1
- package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs +1 -1
- package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs.map +1 -1
- package/dist/cjs/hooks/useIdle/useIdle.cjs +1 -1
- package/dist/cjs/hooks/useImage/useImage.cjs.map +1 -1
- package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs +1 -1
- package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +1 -1
- package/dist/cjs/hooks/useInterval/useInterval.cjs +1 -1
- package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +1 -1
- package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs +1 -1
- package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +1 -1
- package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs +1 -1
- package/dist/cjs/hooks/useLess/useLess.cjs +1 -1
- package/dist/cjs/hooks/useList/useList.cjs +1 -1
- package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs +1 -1
- package/dist/cjs/hooks/useMap/useMap.cjs +1 -1
- package/dist/cjs/hooks/useMeasure/useMeasure.cjs +1 -1
- package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs +1 -1
- package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs +1 -1
- package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs.map +1 -1
- package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.cjs +1 -1
- package/dist/cjs/hooks/useMouse/useMouse.cjs.map +1 -1
- package/dist/cjs/hooks/useMutation/useMutation.cjs +1 -1
- package/dist/cjs/hooks/useMutation/useMutation.cjs.map +1 -1
- package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs +1 -1
- package/dist/cjs/hooks/useNetwork/useNetwork.cjs.map +1 -1
- package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs +1 -1
- package/dist/cjs/hooks/useOnce/useOnce.cjs +1 -1
- package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs.map +1 -1
- package/dist/cjs/hooks/useOrientation/useOrientation.cjs.map +1 -1
- package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs +1 -1
- package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs.map +1 -1
- package/dist/cjs/hooks/useParallax/useParallax.cjs +1 -1
- package/dist/cjs/hooks/useParallax/useParallax.cjs.map +1 -1
- package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs +1 -1
- package/dist/cjs/hooks/usePermission/usePermission.cjs +1 -1
- package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs +1 -1
- package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs.map +1 -1
- package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs +1 -1
- package/dist/cjs/hooks/usePrevious/usePrevious.cjs +1 -1
- package/dist/cjs/hooks/useProgress/useProgress.cjs +2 -0
- package/dist/cjs/hooks/useProgress/useProgress.cjs.map +1 -0
- package/dist/cjs/hooks/useQuery/useQuery.cjs +1 -1
- package/dist/cjs/hooks/useQueue/useQueue.cjs +1 -1
- package/dist/cjs/hooks/useRefState/useRefState.cjs +1 -1
- package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs +1 -1
- package/dist/cjs/hooks/useScript/useScript.cjs +1 -1
- package/dist/cjs/hooks/useScroll/useScroll.cjs +1 -1
- package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
- package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs +1 -1
- package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs +1 -1
- package/dist/cjs/hooks/useSet/useSet.cjs +1 -1
- package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs +1 -1
- package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs +1 -1
- package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs +1 -1
- package/dist/cjs/hooks/useStep/useStep.cjs +1 -1
- package/dist/cjs/hooks/useSticky/useSticky.cjs +1 -1
- package/dist/cjs/hooks/useSticky/useSticky.cjs.map +1 -1
- package/dist/cjs/hooks/useStorage/useStorage.cjs +1 -1
- package/dist/cjs/hooks/useStorage/useStorage.cjs.map +1 -1
- package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs +1 -1
- package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs.map +1 -1
- package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs +1 -1
- package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs +1 -1
- package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs.map +1 -1
- package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs +1 -1
- package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs +1 -1
- package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs +1 -1
- package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs +1 -1
- package/dist/cjs/hooks/useTime/useTime.cjs +1 -1
- package/dist/cjs/hooks/useTimeout/useTimeout.cjs +1 -1
- package/dist/cjs/hooks/useToggle/useToggle.cjs +1 -1
- package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs +1 -1
- package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs.map +1 -1
- package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs.map +1 -1
- package/dist/cjs/hooks/useVibrate/useVibrate.cjs +1 -1
- package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs +1 -1
- package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs.map +1 -1
- package/dist/cjs/hooks/useVisibility/useVisibility.cjs +1 -1
- package/dist/cjs/hooks/useVisibility/useVisibility.cjs.map +1 -1
- package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs.map +1 -1
- package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs +1 -1
- package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs.map +1 -1
- package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs +1 -1
- package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs +1 -1
- package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.cjs +215 -0
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.cjs +10 -0
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.cjs +2 -0
- package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.cjs +2 -0
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.cjs +2 -0
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.cjs +2 -0
- package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.cjs.map +1 -0
- package/dist/cjs/utils/helpers/isTarget.cjs.map +1 -1
- package/dist/esm/_virtual/client.mjs +6 -0
- package/dist/esm/_virtual/client.mjs.map +1 -0
- package/dist/esm/_virtual/client2.mjs +5 -0
- package/dist/esm/_virtual/client2.mjs.map +1 -0
- package/dist/esm/_virtual/index.mjs +5 -0
- package/dist/esm/_virtual/index.mjs.map +1 -0
- package/dist/esm/_virtual/react-dom-client.development.mjs +5 -0
- package/dist/esm/_virtual/react-dom-client.development.mjs.map +1 -0
- package/dist/esm/_virtual/react-dom-client.production.mjs +5 -0
- package/dist/esm/_virtual/react-dom-client.production.mjs.map +1 -0
- package/dist/esm/_virtual/scheduler.development.mjs +5 -0
- package/dist/esm/_virtual/scheduler.development.mjs.map +1 -0
- package/dist/esm/_virtual/scheduler.production.mjs +5 -0
- package/dist/esm/_virtual/scheduler.production.mjs.map +1 -0
- package/dist/esm/helpers/createContext/createContext.mjs.map +1 -1
- package/dist/esm/helpers/createContextHook/createContextHook.mjs +13 -0
- package/dist/esm/helpers/createContextHook/createContextHook.mjs.map +1 -0
- package/dist/esm/helpers/createSharedHook/createSharedHook.mjs +42 -0
- package/dist/esm/helpers/createSharedHook/createSharedHook.mjs.map +1 -0
- package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs.map +1 -1
- package/dist/esm/hooks/useDropZone/useDropZone.mjs +27 -27
- package/dist/esm/hooks/useDropZone/useDropZone.mjs.map +1 -1
- package/dist/esm/hooks/useField/useField.mjs +42 -42
- package/dist/esm/hooks/useField/useField.mjs.map +1 -1
- package/dist/esm/hooks/useHotkeys/useHotkeys.mjs.map +1 -1
- package/dist/esm/hooks/useImage/useImage.mjs.map +1 -1
- package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs.map +1 -1
- package/dist/esm/hooks/useMouse/useMouse.mjs +37 -32
- package/dist/esm/hooks/useMouse/useMouse.mjs.map +1 -1
- package/dist/esm/hooks/useMutation/useMutation.mjs +29 -28
- package/dist/esm/hooks/useMutation/useMutation.mjs.map +1 -1
- package/dist/esm/hooks/useNetwork/useNetwork.mjs.map +1 -1
- package/dist/esm/hooks/useOptimistic/useOptimistic.mjs.map +1 -1
- package/dist/esm/hooks/useOrientation/useOrientation.mjs.map +1 -1
- package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs.map +1 -1
- package/dist/esm/hooks/useParallax/useParallax.mjs.map +1 -1
- package/dist/esm/hooks/usePostMessage/usePostMessage.mjs.map +1 -1
- package/dist/esm/hooks/useProgress/useProgress.mjs +25 -0
- package/dist/esm/hooks/useProgress/useProgress.mjs.map +1 -0
- package/dist/esm/hooks/useScroll/useScroll.mjs +62 -44
- package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
- package/dist/esm/hooks/useSticky/useSticky.mjs.map +1 -1
- package/dist/esm/hooks/useStorage/useStorage.mjs.map +1 -1
- package/dist/esm/hooks/useTextDirection/useTextDirection.mjs.map +1 -1
- package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs.map +1 -1
- package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs.map +1 -1
- package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs.map +1 -1
- package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs.map +1 -1
- package/dist/esm/hooks/useVisibility/useVisibility.mjs.map +1 -1
- package/dist/esm/hooks/useWakeLock/useWakeLock.mjs.map +1 -1
- package/dist/esm/hooks/useWebSocket/useWebSocket.mjs.map +1 -1
- package/dist/esm/index.mjs +389 -382
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.mjs +17019 -0
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.mjs.map +1 -0
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.mjs +9745 -0
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.mjs.map +1 -0
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.mjs +24 -0
- package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.mjs.map +1 -0
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.mjs +228 -0
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.mjs.map +1 -0
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.mjs +225 -0
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.mjs.map +1 -0
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.mjs +11 -0
- package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.mjs.map +1 -0
- package/dist/esm/utils/helpers/isTarget.mjs.map +1 -1
- package/dist/types/helpers/createContextHook/createContextHook.d.ts +26 -0
- package/dist/types/helpers/createSharedHook/createSharedHook.d.ts +21 -0
- package/dist/types/helpers/index.d.ts +2 -0
- package/dist/types/hooks/time.d.ts +1 -0
- package/dist/types/hooks/useField/useField.d.ts +6 -8
- package/dist/types/hooks/useMouse/useMouse.d.ts +17 -7
- package/dist/types/hooks/useProgress/useProgress.d.ts +53 -0
- package/dist/types/hooks/useScroll/useScroll.d.ts +13 -11
- package/dist/types/hooks/useUrlSearchParams/useUrlSearchParams.d.ts +0 -1
- package/package.json +5 -4
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export * from './createContext/createContext';
|
|
2
|
+
export * from './createContextHook/createContextHook';
|
|
2
3
|
export * from './createEventEmitter/createEventEmitter';
|
|
3
4
|
export * from './createReactiveContext/createReactiveContext';
|
|
5
|
+
export * from './createSharedHook/createSharedHook';
|
|
4
6
|
export * from './createStore/createStore';
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { RefObject } from 'react';
|
|
2
2
|
/** The use field params type */
|
|
3
|
-
export interface
|
|
3
|
+
export interface UseFieldOptions {
|
|
4
4
|
/** The auto focus */
|
|
5
5
|
autoFocus?: boolean;
|
|
6
6
|
/** The initial touched */
|
|
7
7
|
initialTouched?: boolean;
|
|
8
|
-
/** The initial value */
|
|
9
|
-
initialValue?: Value;
|
|
10
8
|
/** The validate on blur */
|
|
11
9
|
validateOnBlur?: boolean;
|
|
12
10
|
/** The validate on mount */
|
|
@@ -16,10 +14,6 @@ export interface UseFieldParams<Value> {
|
|
|
16
14
|
}
|
|
17
15
|
/** The use field register params type */
|
|
18
16
|
export interface UseFieldRegisterParams {
|
|
19
|
-
/** The required validation */
|
|
20
|
-
required?: string;
|
|
21
|
-
/** The custom validation */
|
|
22
|
-
validate?: (value: string) => Promise<string | true>;
|
|
23
17
|
/** The min value validation */
|
|
24
18
|
max?: {
|
|
25
19
|
value: number;
|
|
@@ -45,6 +39,10 @@ export interface UseFieldRegisterParams {
|
|
|
45
39
|
value: RegExp;
|
|
46
40
|
message: string;
|
|
47
41
|
};
|
|
42
|
+
/** The required validation */
|
|
43
|
+
required?: string;
|
|
44
|
+
/** The custom validation */
|
|
45
|
+
validate?: (value: string) => Promise<string | true>;
|
|
48
46
|
}
|
|
49
47
|
/** The use field return type */
|
|
50
48
|
export interface UseFieldReturn<Value> {
|
|
@@ -96,4 +94,4 @@ export interface UseFieldReturn<Value> {
|
|
|
96
94
|
* @example
|
|
97
95
|
* const { register, getValue, setValue, reset, dirty, error, setError, clearError, touched, focus, watch } = useField();
|
|
98
96
|
*/
|
|
99
|
-
export declare const useField: <Value extends boolean | number | string = string, Type = Value extends string ? string : Value extends boolean ? boolean : number>(
|
|
97
|
+
export declare const useField: <Value extends boolean | number | string = string, Type = Value extends string ? string : Value extends boolean ? boolean : number>(initialValue?: Value, options?: UseFieldOptions) => UseFieldReturn<Type>;
|
|
@@ -2,6 +2,13 @@ import { HookTarget } from '../../utils/helpers';
|
|
|
2
2
|
import { StateRef } from '../useRefState/useRefState';
|
|
3
3
|
/** The use mouse return type */
|
|
4
4
|
export interface UseMouseReturn {
|
|
5
|
+
/** The latest mouse value snapshot */
|
|
6
|
+
snapshot: UseMouseValue;
|
|
7
|
+
/** Function to enable subscriptions and rerender on next updates */
|
|
8
|
+
watch: () => UseMouseValue;
|
|
9
|
+
}
|
|
10
|
+
/** The use mouse value type */
|
|
11
|
+
export interface UseMouseValue {
|
|
5
12
|
/** The current mouse client x position */
|
|
6
13
|
clientX: number;
|
|
7
14
|
/** The current mouse client y position */
|
|
@@ -19,12 +26,13 @@ export interface UseMouseReturn {
|
|
|
19
26
|
/** The current mouse y position */
|
|
20
27
|
y: number;
|
|
21
28
|
}
|
|
29
|
+
export type UseMouseCallback = (value: UseMouseValue, event: Event) => void;
|
|
22
30
|
export interface UseMouse {
|
|
23
|
-
(target: HookTarget): UseMouseReturn;
|
|
24
|
-
<Target extends Element>(target?: never): UseMouseReturn & {
|
|
31
|
+
(target: HookTarget, callback?: UseMouseCallback): UseMouseReturn;
|
|
32
|
+
<Target extends Element>(callback?: UseMouseCallback, target?: never): UseMouseReturn & {
|
|
25
33
|
ref: StateRef<Target>;
|
|
26
34
|
};
|
|
27
|
-
(target?: Window): UseMouseReturn;
|
|
35
|
+
(target?: Window, callback?: UseMouseCallback): UseMouseReturn;
|
|
28
36
|
}
|
|
29
37
|
/**
|
|
30
38
|
* @name useMouse
|
|
@@ -34,16 +42,18 @@ export interface UseMouse {
|
|
|
34
42
|
*
|
|
35
43
|
* @overload
|
|
36
44
|
* @param {HookTarget} [target=window] The target element to manage the mouse position for
|
|
37
|
-
* @
|
|
45
|
+
* @param {(value: UseMouseValue, event: Event) => void} [callback] The callback to invoke on mouse updates
|
|
46
|
+
* @returns {UseMouseReturn} An object with mouse value controls
|
|
38
47
|
*
|
|
39
48
|
* @example
|
|
40
|
-
* const
|
|
49
|
+
* const mouse = useMouse(ref);
|
|
41
50
|
*
|
|
42
51
|
* @overload
|
|
43
52
|
* @template Target The target element
|
|
44
|
-
* @
|
|
53
|
+
* @param {(value: UseMouseValue, event: Event) => void} [callback] The callback to invoke on mouse updates
|
|
54
|
+
* @returns {UseMouseReturn & { ref: StateRef<Target> }} An object with mouse value controls and a ref
|
|
45
55
|
*
|
|
46
56
|
* @example
|
|
47
|
-
* const
|
|
57
|
+
* const mouse = useMouse<HTMLDivElement>();
|
|
48
58
|
*/
|
|
49
59
|
export declare const useMouse: UseMouse;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** The use progress options type */
|
|
2
|
+
export interface UseProgressOptions {
|
|
3
|
+
/** Delay before reset to null after done */
|
|
4
|
+
delay?: number;
|
|
5
|
+
/** Start progress immediately */
|
|
6
|
+
immediately?: boolean;
|
|
7
|
+
/** Maximum progress value */
|
|
8
|
+
maximum?: number;
|
|
9
|
+
/** Additional random amount for each auto increment */
|
|
10
|
+
rate?: number;
|
|
11
|
+
/** Auto-increment frequency in milliseconds */
|
|
12
|
+
speed?: number;
|
|
13
|
+
}
|
|
14
|
+
/** The use progress return type */
|
|
15
|
+
export interface UseProgressReturn {
|
|
16
|
+
/** Whether progress is currently active */
|
|
17
|
+
active: boolean;
|
|
18
|
+
/** Current progress value in range 0..1, null means hidden */
|
|
19
|
+
value: number;
|
|
20
|
+
/** Complete progress to 100% */
|
|
21
|
+
done: (force?: boolean) => number | null;
|
|
22
|
+
/** Increment progress with easing behavior */
|
|
23
|
+
inc: (amount?: number) => number | null;
|
|
24
|
+
/** Remove progress and stop timers */
|
|
25
|
+
remove: () => void;
|
|
26
|
+
/** Start progress and auto incrementing */
|
|
27
|
+
start: (from?: number | null) => number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @name useProgress
|
|
31
|
+
* @description - Hook that creates a lightweight progress bar
|
|
32
|
+
* @category Time
|
|
33
|
+
* @usage medium
|
|
34
|
+
*
|
|
35
|
+
* @param {number} [initialProgress] Initial progress value in range 0..1
|
|
36
|
+
* @param {boolean} [options.active] Controls progress externally (true -> start, false -> done)
|
|
37
|
+
* @param {number} [options.maximum=0.95] Maximum value when progress starts
|
|
38
|
+
* @param {number} [options.speed=250] Auto increment interval in milliseconds
|
|
39
|
+
* @param {number} [options.rate=0.02] Additional random increment amount on each tick
|
|
40
|
+
* @param {number} [options.delay=250] Delay before reset to null after done
|
|
41
|
+
* @returns {UseProgressReturn} Current progress state and control methods
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* const { value, active, start, done, inc, set, remove } = useProgress(0.2);
|
|
45
|
+
*/
|
|
46
|
+
export declare const useProgress: (initialValue?: number, options?: UseProgressOptions) => {
|
|
47
|
+
value: number;
|
|
48
|
+
active: boolean;
|
|
49
|
+
start: (from?: number) => void;
|
|
50
|
+
done: () => void;
|
|
51
|
+
inc: (amount?: number) => void;
|
|
52
|
+
remove: () => void;
|
|
53
|
+
};
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import { HookTarget } from '../../utils/helpers';
|
|
2
2
|
import { StateRef } from '../useRefState/useRefState';
|
|
3
3
|
export interface UseScrollOptions {
|
|
4
|
-
/** The on scroll callback */
|
|
5
|
-
onScroll?: (params: UseScrollCallbackParams, event: Event) => void;
|
|
6
|
-
/** The on end scroll callback */
|
|
7
|
-
onStop?: (event: Event) => void;
|
|
8
4
|
/** Offset arrived states by x pixels. */
|
|
9
5
|
offset?: {
|
|
10
6
|
left?: number;
|
|
@@ -12,12 +8,12 @@ export interface UseScrollOptions {
|
|
|
12
8
|
top?: number;
|
|
13
9
|
bottom?: number;
|
|
14
10
|
};
|
|
11
|
+
/** The on scroll callback */
|
|
12
|
+
onScroll?: (params: UseScrollCallbackParams, event: Event) => void;
|
|
13
|
+
/** The on end scroll callback */
|
|
14
|
+
onStop?: (event: Event) => void;
|
|
15
15
|
}
|
|
16
16
|
export interface UseScrollCallbackParams {
|
|
17
|
-
/** The element x position */
|
|
18
|
-
x: number;
|
|
19
|
-
/** The element y position */
|
|
20
|
-
y: number;
|
|
21
17
|
/** State of scroll arrived */
|
|
22
18
|
arrived: {
|
|
23
19
|
left: boolean;
|
|
@@ -32,6 +28,10 @@ export interface UseScrollCallbackParams {
|
|
|
32
28
|
top: boolean;
|
|
33
29
|
bottom: boolean;
|
|
34
30
|
};
|
|
31
|
+
/** The element x position */
|
|
32
|
+
x: number;
|
|
33
|
+
/** The element y position */
|
|
34
|
+
y: number;
|
|
35
35
|
}
|
|
36
36
|
/** The scroll into view params type */
|
|
37
37
|
export interface ScrollIntoViewParams {
|
|
@@ -47,16 +47,18 @@ export interface ScrollToParams {
|
|
|
47
47
|
}
|
|
48
48
|
/** The use scroll return type */
|
|
49
49
|
export interface UseScrollReturn {
|
|
50
|
-
/** The
|
|
51
|
-
|
|
50
|
+
/** The latest scroll value snapshot */
|
|
51
|
+
snapshot: UseScrollCallbackParams;
|
|
52
52
|
/** Function to scroll element into view */
|
|
53
53
|
scrollIntoView: (params?: ScrollIntoViewParams) => void;
|
|
54
54
|
/** Function to scroll element to a specific position */
|
|
55
55
|
scrollTo: (params?: ScrollToParams) => void;
|
|
56
|
+
/** Function to enable subscriptions and rerender on next updates */
|
|
57
|
+
watch: () => UseScrollCallbackParams;
|
|
56
58
|
}
|
|
57
59
|
export interface UseScroll {
|
|
58
60
|
(target?: HookTarget, callback?: (params: UseScrollCallbackParams, event: Event) => void): UseScrollReturn;
|
|
59
|
-
(target
|
|
61
|
+
(target: HookTarget, options?: UseScrollOptions): UseScrollReturn;
|
|
60
62
|
<Target extends Element>(callback?: (params: UseScrollCallbackParams, event: Event) => void, target?: never): UseScrollReturn & {
|
|
61
63
|
ref: StateRef<Target>;
|
|
62
64
|
};
|
|
@@ -11,7 +11,6 @@ export interface UseUrlSearchParamsSetOptions {
|
|
|
11
11
|
export type UseUrlSearchParamsInitialValue<Value> = (() => Value) | Value;
|
|
12
12
|
/** The use url search params options type */
|
|
13
13
|
export interface UseUrlSearchParamsOptions<Value> {
|
|
14
|
-
initialValue?: UseUrlSearchParamsInitialValue<string | URLSearchParams | Value>;
|
|
15
14
|
/** The mode to use for writing to the URL */
|
|
16
15
|
mode?: UrlSearchParamsMode;
|
|
17
16
|
/** The mode to use for writing to the URL */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@siberiacancode/reactuse",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.14",
|
|
4
4
|
"description": "The ultimate collection of react hooks",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "SIBERIA CAN CODE 🧊",
|
|
@@ -64,18 +64,19 @@
|
|
|
64
64
|
"screenfull": "^6.0.2"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@siberiacancode/vitest": "^2.
|
|
67
|
+
"@siberiacancode/vitest": "^2.4.1",
|
|
68
68
|
"@testing-library/dom": "^10.4.1",
|
|
69
69
|
"@testing-library/react": "^16.3.2",
|
|
70
70
|
"@types/dom-speech-recognition": "^0.0.7",
|
|
71
|
-
"@types/react": "^19.2.
|
|
71
|
+
"@types/react": "^19.2.14",
|
|
72
72
|
"@types/react-dom": "^19.2.3",
|
|
73
73
|
"@types/web-bluetooth": "^0.0.21",
|
|
74
|
-
"@vitejs/plugin-react": "^5.1.
|
|
74
|
+
"@vitejs/plugin-react": "^5.1.4",
|
|
75
75
|
"core-js": "^3.48.0",
|
|
76
76
|
"react": "^19.2.4",
|
|
77
77
|
"react-dom": "^19.2.4",
|
|
78
78
|
"shx": "^0.4.0",
|
|
79
|
+
"tailwindcss": "4.2.1",
|
|
79
80
|
"vite": "^7.3.1",
|
|
80
81
|
"vite-plugin-dts": "^4.5.4",
|
|
81
82
|
"vitest": "^4.0.18"
|