@siberiacancode/reactuse 0.3.13 → 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.
Files changed (233) hide show
  1. package/README.md +71 -71
  2. package/dist/cjs/_virtual/client.cjs +2 -0
  3. package/dist/cjs/_virtual/client.cjs.map +1 -0
  4. package/dist/cjs/_virtual/client2.cjs +2 -0
  5. package/dist/cjs/_virtual/client2.cjs.map +1 -0
  6. package/dist/cjs/_virtual/index.cjs +2 -0
  7. package/dist/cjs/_virtual/index.cjs.map +1 -0
  8. package/dist/cjs/_virtual/react-dom-client.development.cjs +2 -0
  9. package/dist/cjs/_virtual/react-dom-client.development.cjs.map +1 -0
  10. package/dist/cjs/_virtual/react-dom-client.production.cjs +2 -0
  11. package/dist/cjs/_virtual/react-dom-client.production.cjs.map +1 -0
  12. package/dist/cjs/_virtual/scheduler.development.cjs +2 -0
  13. package/dist/cjs/_virtual/scheduler.development.cjs.map +1 -0
  14. package/dist/cjs/_virtual/scheduler.production.cjs +2 -0
  15. package/dist/cjs/_virtual/scheduler.production.cjs.map +1 -0
  16. package/dist/cjs/helpers/createContext/createContext.cjs +1 -1
  17. package/dist/cjs/helpers/createContext/createContext.cjs.map +1 -1
  18. package/dist/cjs/helpers/createContextHook/createContextHook.cjs +2 -0
  19. package/dist/cjs/helpers/createContextHook/createContextHook.cjs.map +1 -0
  20. package/dist/cjs/helpers/createEventEmitter/createEventEmitter.cjs +1 -1
  21. package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs +2 -0
  22. package/dist/cjs/helpers/createSharedHook/createSharedHook.cjs.map +1 -0
  23. package/dist/cjs/helpers/createStore/createStore.cjs +1 -1
  24. package/dist/cjs/hooks/useAsync/useAsync.cjs +1 -1
  25. package/dist/cjs/hooks/useAutoScroll/useAutoScroll.cjs +1 -1
  26. package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs +1 -1
  27. package/dist/cjs/hooks/useBatchedCallback/useBatchedCallback.cjs.map +1 -1
  28. package/dist/cjs/hooks/useBattery/useBattery.cjs +1 -1
  29. package/dist/cjs/hooks/useBluetooth/useBluetooth.cjs +1 -1
  30. package/dist/cjs/hooks/useBoolean/useBoolean.cjs +1 -1
  31. package/dist/cjs/hooks/useBreakpoints/useBreakpoints.cjs +1 -1
  32. package/dist/cjs/hooks/useBroadcastChannel/useBroadcastChannel.cjs +1 -1
  33. package/dist/cjs/hooks/useBrowserLanguage/useBrowserLanguage.cjs +1 -1
  34. package/dist/cjs/hooks/useClickOutside/useClickOutside.cjs +1 -1
  35. package/dist/cjs/hooks/useControllableState/useControllableState.cjs +1 -1
  36. package/dist/cjs/hooks/useCookie/useCookie.cjs +1 -1
  37. package/dist/cjs/hooks/useCookies/useCookies.cjs +1 -1
  38. package/dist/cjs/hooks/useCopy/useCopy.cjs +1 -1
  39. package/dist/cjs/hooks/useDebounceCallback/useDebounceCallback.cjs +1 -1
  40. package/dist/cjs/hooks/useDebounceState/useDebounceState.cjs +1 -1
  41. package/dist/cjs/hooks/useDebounceValue/useDebounceValue.cjs +1 -1
  42. package/dist/cjs/hooks/useDefault/useDefault.cjs +1 -1
  43. package/dist/cjs/hooks/useDeviceMotion/useDeviceMotion.cjs +1 -1
  44. package/dist/cjs/hooks/useDevicePixelRatio/useDevicePixelRatio.cjs +1 -1
  45. package/dist/cjs/hooks/useDisplayMedia/useDisplayMedia.cjs +1 -1
  46. package/dist/cjs/hooks/useDropZone/useDropZone.cjs +1 -1
  47. package/dist/cjs/hooks/useDropZone/useDropZone.cjs.map +1 -1
  48. package/dist/cjs/hooks/useEvent/useEvent.cjs +1 -1
  49. package/dist/cjs/hooks/useEventListener/useEventListener.cjs +1 -1
  50. package/dist/cjs/hooks/useEventSource/useEventSource.cjs +1 -1
  51. package/dist/cjs/hooks/useFavicon/useFavicon.cjs +1 -1
  52. package/dist/cjs/hooks/useField/useField.cjs +1 -1
  53. package/dist/cjs/hooks/useField/useField.cjs.map +1 -1
  54. package/dist/cjs/hooks/useFocusTrap/useFocusTrap.cjs +1 -1
  55. package/dist/cjs/hooks/useFps/useFps.cjs +1 -1
  56. package/dist/cjs/hooks/useFul/useFul.cjs +1 -1
  57. package/dist/cjs/hooks/useFullscreen/useFullscreen.cjs +1 -1
  58. package/dist/cjs/hooks/useGamepad/useGamepad.cjs +1 -1
  59. package/dist/cjs/hooks/useGeolocation/useGeolocation.cjs +1 -1
  60. package/dist/cjs/hooks/useHotkeys/useHotkeys.cjs.map +1 -1
  61. package/dist/cjs/hooks/useIdle/useIdle.cjs +1 -1
  62. package/dist/cjs/hooks/useImage/useImage.cjs.map +1 -1
  63. package/dist/cjs/hooks/useInfiniteScroll/useInfiniteScroll.cjs +1 -1
  64. package/dist/cjs/hooks/useIntersectionObserver/useIntersectionObserver.cjs +1 -1
  65. package/dist/cjs/hooks/useInterval/useInterval.cjs +1 -1
  66. package/dist/cjs/hooks/useKeyPress/useKeyPress.cjs +1 -1
  67. package/dist/cjs/hooks/useKeyPressEvent/useKeyPressEvent.cjs +1 -1
  68. package/dist/cjs/hooks/useKeyboard/useKeyboard.cjs +1 -1
  69. package/dist/cjs/hooks/useKeysPressed/useKeysPressed.cjs +1 -1
  70. package/dist/cjs/hooks/useLess/useLess.cjs +1 -1
  71. package/dist/cjs/hooks/useList/useList.cjs +1 -1
  72. package/dist/cjs/hooks/useLockCallback/useLockCallback.cjs +1 -1
  73. package/dist/cjs/hooks/useMap/useMap.cjs +1 -1
  74. package/dist/cjs/hooks/useMeasure/useMeasure.cjs +1 -1
  75. package/dist/cjs/hooks/useMediaControls/useMediaControls.cjs +1 -1
  76. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs +1 -1
  77. package/dist/cjs/hooks/useMediaQuery/useMediaQuery.cjs.map +1 -1
  78. package/dist/cjs/hooks/useMergedRef/useMergedRef.cjs +1 -1
  79. package/dist/cjs/hooks/useMouse/useMouse.cjs +1 -1
  80. package/dist/cjs/hooks/useMouse/useMouse.cjs.map +1 -1
  81. package/dist/cjs/hooks/useMutation/useMutation.cjs +1 -1
  82. package/dist/cjs/hooks/useMutation/useMutation.cjs.map +1 -1
  83. package/dist/cjs/hooks/useMutationObserver/useMutationObserver.cjs +1 -1
  84. package/dist/cjs/hooks/useNetwork/useNetwork.cjs.map +1 -1
  85. package/dist/cjs/hooks/useOffsetPagination/useOffsetPagination.cjs +1 -1
  86. package/dist/cjs/hooks/useOnce/useOnce.cjs +1 -1
  87. package/dist/cjs/hooks/useOptimistic/useOptimistic.cjs.map +1 -1
  88. package/dist/cjs/hooks/useOrientation/useOrientation.cjs.map +1 -1
  89. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs +1 -1
  90. package/dist/cjs/hooks/useOtpCredential/useOtpCredential.cjs.map +1 -1
  91. package/dist/cjs/hooks/useParallax/useParallax.cjs +1 -1
  92. package/dist/cjs/hooks/useParallax/useParallax.cjs.map +1 -1
  93. package/dist/cjs/hooks/usePerformanceObserver/usePerformanceObserver.cjs +1 -1
  94. package/dist/cjs/hooks/usePermission/usePermission.cjs +1 -1
  95. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs +1 -1
  96. package/dist/cjs/hooks/usePostMessage/usePostMessage.cjs.map +1 -1
  97. package/dist/cjs/hooks/usePreferredLanguages/usePreferredLanguages.cjs +1 -1
  98. package/dist/cjs/hooks/usePrevious/usePrevious.cjs +1 -1
  99. package/dist/cjs/hooks/useProgress/useProgress.cjs +1 -1
  100. package/dist/cjs/hooks/useProgress/useProgress.cjs.map +1 -1
  101. package/dist/cjs/hooks/useQuery/useQuery.cjs +1 -1
  102. package/dist/cjs/hooks/useQueue/useQueue.cjs +1 -1
  103. package/dist/cjs/hooks/useRefState/useRefState.cjs +1 -1
  104. package/dist/cjs/hooks/useResizeObserver/useResizeObserver.cjs +1 -1
  105. package/dist/cjs/hooks/useScript/useScript.cjs +1 -1
  106. package/dist/cjs/hooks/useScroll/useScroll.cjs +1 -1
  107. package/dist/cjs/hooks/useScroll/useScroll.cjs.map +1 -1
  108. package/dist/cjs/hooks/useScrollIntoView/useScrollIntoView.cjs +1 -1
  109. package/dist/cjs/hooks/useScrollTo/useScrollTo.cjs +1 -1
  110. package/dist/cjs/hooks/useSet/useSet.cjs +1 -1
  111. package/dist/cjs/hooks/useShallowEffect/useShallowEffect.cjs +1 -1
  112. package/dist/cjs/hooks/useSpeechRecognition/useSpeechRecognition.cjs +1 -1
  113. package/dist/cjs/hooks/useStateHistory/useStateHistory.cjs +1 -1
  114. package/dist/cjs/hooks/useStep/useStep.cjs +1 -1
  115. package/dist/cjs/hooks/useSticky/useSticky.cjs +1 -1
  116. package/dist/cjs/hooks/useSticky/useSticky.cjs.map +1 -1
  117. package/dist/cjs/hooks/useStorage/useStorage.cjs +1 -1
  118. package/dist/cjs/hooks/useStorage/useStorage.cjs.map +1 -1
  119. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs +1 -1
  120. package/dist/cjs/hooks/useTextDirection/useTextDirection.cjs.map +1 -1
  121. package/dist/cjs/hooks/useTextSelection/useTextSelection.cjs +1 -1
  122. package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs +1 -1
  123. package/dist/cjs/hooks/useTextareaAutosize/useTextareaAutosize.cjs.map +1 -1
  124. package/dist/cjs/hooks/useThrottleCallback/useThrottleCallback.cjs +1 -1
  125. package/dist/cjs/hooks/useThrottleEffect/useThrottleEffect.cjs +1 -1
  126. package/dist/cjs/hooks/useThrottleState/useThrottleState.cjs +1 -1
  127. package/dist/cjs/hooks/useThrottleValue/useThrottleValue.cjs +1 -1
  128. package/dist/cjs/hooks/useTime/useTime.cjs +1 -1
  129. package/dist/cjs/hooks/useTimeout/useTimeout.cjs +1 -1
  130. package/dist/cjs/hooks/useToggle/useToggle.cjs +1 -1
  131. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs +1 -1
  132. package/dist/cjs/hooks/useUrlSearchParam/useUrlSearchParam.cjs.map +1 -1
  133. package/dist/cjs/hooks/useUrlSearchParams/useUrlSearchParams.cjs.map +1 -1
  134. package/dist/cjs/hooks/useVibrate/useVibrate.cjs +1 -1
  135. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs +1 -1
  136. package/dist/cjs/hooks/useVirtualKeyboard/useVirtualKeyboard.cjs.map +1 -1
  137. package/dist/cjs/hooks/useVisibility/useVisibility.cjs +1 -1
  138. package/dist/cjs/hooks/useVisibility/useVisibility.cjs.map +1 -1
  139. package/dist/cjs/hooks/useWakeLock/useWakeLock.cjs.map +1 -1
  140. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs +1 -1
  141. package/dist/cjs/hooks/useWebSocket/useWebSocket.cjs.map +1 -1
  142. package/dist/cjs/hooks/useWindowFocus/useWindowFocus.cjs +1 -1
  143. package/dist/cjs/hooks/useWindowScroll/useWindowScroll.cjs +1 -1
  144. package/dist/cjs/hooks/useWindowSize/useWindowSize.cjs +1 -1
  145. package/dist/cjs/index.cjs +1 -1
  146. 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
  147. 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
  148. 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
  149. 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
  150. package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.cjs +2 -0
  151. package/dist/cjs/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.cjs.map +1 -0
  152. package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.cjs +2 -0
  153. package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.cjs.map +1 -0
  154. package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.cjs +2 -0
  155. package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.cjs.map +1 -0
  156. package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.cjs +2 -0
  157. package/dist/cjs/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.cjs.map +1 -0
  158. package/dist/cjs/utils/helpers/isTarget.cjs.map +1 -1
  159. package/dist/esm/_virtual/client.mjs +6 -0
  160. package/dist/esm/_virtual/client.mjs.map +1 -0
  161. package/dist/esm/_virtual/client2.mjs +5 -0
  162. package/dist/esm/_virtual/client2.mjs.map +1 -0
  163. package/dist/esm/_virtual/index.mjs +5 -0
  164. package/dist/esm/_virtual/index.mjs.map +1 -0
  165. package/dist/esm/_virtual/react-dom-client.development.mjs +5 -0
  166. package/dist/esm/_virtual/react-dom-client.development.mjs.map +1 -0
  167. package/dist/esm/_virtual/react-dom-client.production.mjs +5 -0
  168. package/dist/esm/_virtual/react-dom-client.production.mjs.map +1 -0
  169. package/dist/esm/_virtual/scheduler.development.mjs +5 -0
  170. package/dist/esm/_virtual/scheduler.development.mjs.map +1 -0
  171. package/dist/esm/_virtual/scheduler.production.mjs +5 -0
  172. package/dist/esm/_virtual/scheduler.production.mjs.map +1 -0
  173. package/dist/esm/helpers/createContext/createContext.mjs.map +1 -1
  174. package/dist/esm/helpers/createContextHook/createContextHook.mjs +13 -0
  175. package/dist/esm/helpers/createContextHook/createContextHook.mjs.map +1 -0
  176. package/dist/esm/helpers/createSharedHook/createSharedHook.mjs +42 -0
  177. package/dist/esm/helpers/createSharedHook/createSharedHook.mjs.map +1 -0
  178. package/dist/esm/hooks/useBatchedCallback/useBatchedCallback.mjs.map +1 -1
  179. package/dist/esm/hooks/useDropZone/useDropZone.mjs +27 -27
  180. package/dist/esm/hooks/useDropZone/useDropZone.mjs.map +1 -1
  181. package/dist/esm/hooks/useField/useField.mjs +42 -42
  182. package/dist/esm/hooks/useField/useField.mjs.map +1 -1
  183. package/dist/esm/hooks/useHotkeys/useHotkeys.mjs.map +1 -1
  184. package/dist/esm/hooks/useImage/useImage.mjs.map +1 -1
  185. package/dist/esm/hooks/useMediaQuery/useMediaQuery.mjs.map +1 -1
  186. package/dist/esm/hooks/useMouse/useMouse.mjs +37 -32
  187. package/dist/esm/hooks/useMouse/useMouse.mjs.map +1 -1
  188. package/dist/esm/hooks/useMutation/useMutation.mjs +29 -28
  189. package/dist/esm/hooks/useMutation/useMutation.mjs.map +1 -1
  190. package/dist/esm/hooks/useNetwork/useNetwork.mjs.map +1 -1
  191. package/dist/esm/hooks/useOptimistic/useOptimistic.mjs.map +1 -1
  192. package/dist/esm/hooks/useOrientation/useOrientation.mjs.map +1 -1
  193. package/dist/esm/hooks/useOtpCredential/useOtpCredential.mjs.map +1 -1
  194. package/dist/esm/hooks/useParallax/useParallax.mjs.map +1 -1
  195. package/dist/esm/hooks/usePostMessage/usePostMessage.mjs.map +1 -1
  196. package/dist/esm/hooks/useProgress/useProgress.mjs +13 -13
  197. package/dist/esm/hooks/useProgress/useProgress.mjs.map +1 -1
  198. package/dist/esm/hooks/useScroll/useScroll.mjs +62 -44
  199. package/dist/esm/hooks/useScroll/useScroll.mjs.map +1 -1
  200. package/dist/esm/hooks/useSticky/useSticky.mjs.map +1 -1
  201. package/dist/esm/hooks/useStorage/useStorage.mjs.map +1 -1
  202. package/dist/esm/hooks/useTextDirection/useTextDirection.mjs.map +1 -1
  203. package/dist/esm/hooks/useTextareaAutosize/useTextareaAutosize.mjs.map +1 -1
  204. package/dist/esm/hooks/useUrlSearchParam/useUrlSearchParam.mjs.map +1 -1
  205. package/dist/esm/hooks/useUrlSearchParams/useUrlSearchParams.mjs.map +1 -1
  206. package/dist/esm/hooks/useVirtualKeyboard/useVirtualKeyboard.mjs.map +1 -1
  207. package/dist/esm/hooks/useVisibility/useVisibility.mjs.map +1 -1
  208. package/dist/esm/hooks/useWakeLock/useWakeLock.mjs.map +1 -1
  209. package/dist/esm/hooks/useWebSocket/useWebSocket.mjs.map +1 -1
  210. package/dist/esm/index.mjs +389 -384
  211. package/dist/esm/index.mjs.map +1 -1
  212. 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
  213. 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
  214. 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
  215. 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
  216. package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.mjs +24 -0
  217. package/dist/esm/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.mjs.map +1 -0
  218. package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.mjs +228 -0
  219. package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.mjs.map +1 -0
  220. package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.mjs +225 -0
  221. package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.mjs.map +1 -0
  222. package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.mjs +11 -0
  223. package/dist/esm/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.mjs.map +1 -0
  224. package/dist/esm/utils/helpers/isTarget.mjs.map +1 -1
  225. package/dist/types/helpers/createContextHook/createContextHook.d.ts +26 -0
  226. package/dist/types/helpers/createSharedHook/createSharedHook.d.ts +21 -0
  227. package/dist/types/helpers/index.d.ts +2 -0
  228. package/dist/types/hooks/useField/useField.d.ts +6 -8
  229. package/dist/types/hooks/useMouse/useMouse.d.ts +17 -7
  230. package/dist/types/hooks/useProgress/useProgress.d.ts +4 -2
  231. package/dist/types/hooks/useScroll/useScroll.d.ts +13 -11
  232. package/dist/types/hooks/useUrlSearchParams/useUrlSearchParams.d.ts +0 -1
  233. 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 UseFieldParams<Value> {
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>(params?: UseFieldParams<Value>) => UseFieldReturn<Type>;
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
- * @returns {UseMouseReturn} An object with the current mouse position
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 { x, y, clientX, clientY, elementX, elementY, elementPositionX, elementPositionY } = useMouse(ref);
49
+ * const mouse = useMouse(ref);
41
50
  *
42
51
  * @overload
43
52
  * @template Target The target element
44
- * @returns {UseMouseReturn & { ref: StateRef<Target> }} An object with the current mouse position and a ref
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 { ref, x, y, clientX, clientY, elementX, elementY, elementPositionX, elementPositionY } = useMouse();
57
+ * const mouse = useMouse<HTMLDivElement>();
48
58
  */
49
59
  export declare const useMouse: UseMouse;
@@ -1,5 +1,7 @@
1
1
  /** The use progress options type */
2
2
  export interface UseProgressOptions {
3
+ /** Delay before reset to null after done */
4
+ delay?: number;
3
5
  /** Start progress immediately */
4
6
  immediately?: boolean;
5
7
  /** Maximum progress value */
@@ -26,7 +28,7 @@ export interface UseProgressReturn {
26
28
  }
27
29
  /**
28
30
  * @name useProgress
29
- * @description - Hook that creates a lightweight progress bar state with NProgress-like behavior
31
+ * @description - Hook that creates a lightweight progress bar
30
32
  * @category Time
31
33
  * @usage medium
32
34
  *
@@ -35,7 +37,7 @@ export interface UseProgressReturn {
35
37
  * @param {number} [options.maximum=0.95] Maximum value when progress starts
36
38
  * @param {number} [options.speed=250] Auto increment interval in milliseconds
37
39
  * @param {number} [options.rate=0.02] Additional random increment amount on each tick
38
- * @param {number} [options.doneResetDelay=250] Delay before reset to null after done
40
+ * @param {number} [options.delay=250] Delay before reset to null after done
39
41
  * @returns {UseProgressReturn} Current progress state and control methods
40
42
  *
41
43
  * @example
@@ -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 state of scrolling */
51
- scrolling: boolean;
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?: HookTarget, options?: UseScrollOptions): UseScrollReturn;
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.13",
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.3.0",
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.13",
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.3",
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"