react-hook-toolkit 1.2.4 → 1.3.1

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.
@@ -1,7 +1,7 @@
1
1
  import { UseBrowserControlsReturn } from "../type";
2
2
  export declare const useBrowser: () => UseBrowserControlsReturn;
3
- export declare const useRouter: (initialPath: string) => {
3
+ export declare function useRouter(initialPath?: string): {
4
4
  pathname: string;
5
5
  searchParams: URLSearchParams;
6
- navigate: (path: string) => void;
6
+ navigate: (newPath: any) => void;
7
7
  };
@@ -379,15 +379,34 @@ export var useBrowser = function () {
379
379
  closeCurrentTab: closeCurrentTab,
380
380
  };
381
381
  };
382
- export var useRouter = function (initialPath) {
383
- var _a = useState(initialPath), pathname = _a[0], setPathname = _a[1];
384
- var searchParams = useState(function () { return new URLSearchParams(); })[0];
385
- var router = useMemo(function () {
382
+ export function useRouter(initialPath) {
383
+ if (initialPath === void 0) { initialPath = window.location.pathname + window.location.search; }
384
+ var _a = useState(initialPath), path = _a[0], setPath = _a[1];
385
+ // Extract pathname and searchParams from the current path
386
+ var _b = useMemo(function () {
387
+ var _a = path.split('?'), basePath = _a[0], queryString = _a[1];
386
388
  return {
387
- pathname: pathname,
388
- searchParams: searchParams,
389
- navigate: function (path) { return setPathname(String(path)); },
389
+ pathname: basePath,
390
+ searchParams: new URLSearchParams(queryString || ''),
390
391
  };
391
- }, [pathname, searchParams]);
392
- return router;
393
- };
392
+ }, [path]), pathname = _b.pathname, searchParams = _b.searchParams;
393
+ // Function to update the route
394
+ var navigate = useCallback(function (newPath) {
395
+ var newPathStr = String(newPath);
396
+ setPath(newPathStr);
397
+ window.history.pushState({}, '', newPathStr); // Optional: updates browser URL
398
+ }, []);
399
+ // Handle browser back/forward navigation
400
+ useEffect(function () {
401
+ var handlePopState = function () {
402
+ setPath(window.location.pathname + window.location.search);
403
+ };
404
+ window.addEventListener('popstate', handlePopState);
405
+ return function () { return window.removeEventListener('popstate', handlePopState); };
406
+ }, []);
407
+ return {
408
+ pathname: pathname,
409
+ searchParams: searchParams,
410
+ navigate: navigate,
411
+ };
412
+ }
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import 'nprogress/nprogress.css';
2
2
  import 'animate.css';
3
- import { DynamicLoader } from './chunk1516/chunk613852';
4
3
  import { ReactHooksWrapper, getHook, setHook } from './chunk1415/chunk143';
5
4
  import { useHistoryState, useIdle, useIsFirstRender, useList, useLockBodyScroll, useLongPress, useRecentSearch, useSpeech, usePermission, usePageLeave, useMotion, useHoverDirty, useBeforeUnload, useClickAway, useResponsive, useUnmountedRef } from './chunk1516/chunk726433';
6
5
  import { useBrowser, useRouter } from './chunk1516/chunk0022';
@@ -10,4 +9,4 @@ import { useGenericReducer, useArray, useAsync, useAxios, useClipboard, useCooki
10
9
  import { createOptimizedContext, useBattery, useCountDown, useCountUp, useCrossFieldValidation, useCss, useDragReorder, useEventListener, useEventListeners, useFieldArray, useFormSubmit, useFormWizard, useGeoLocation, useHistory, useInfiniteScroll, useIsMounted, usePersistedForm, usePreferredLanguage, useSessionStorage, useSmartForm, useSound, useSpeak, useTimer, useTouch, useUndo, useUpdateEffect, useWebSocket } from './chunk1516/chunk0021';
11
10
  import { DrawerProvider } from './chunk1213/chunk158261';
12
11
  export default ReactHooksWrapper;
13
- export { getHook, setHook, privateAxios, publicAxios, useGenericReducer, useArray, useAsync, useAxios, useBrowser, useBattery, useBeforeUnload, useClipboard, useCookie, useClickAway, useCountDown, useCountUp, useCrossFieldValidation, useCss, useDrawer, useDarkMode, useDebounce, useDebouncedCallback, useDebouncedValue, useDelay, useDragReorder, useEventListener, useEventListeners, useRequest, useRequestRetry, useFieldArray, useForm, useFormSubmit, useFormWizard, useGeoLocation, useHoverDirty, useHistory, useHistoryState, useIdle, useImageLoader, useIndexedDB, useInfiniteScroll, useInterval, useIsFirstRender, useIsMounted, useKeyPress, useList, useLocalStorage, useLockBodyScroll, useLongPress, useMotion, useMediaQuery, useMousePosition, useOnlineStatus, usePersistedForm, usePersistedState, usePreferredLanguage, usePrevious, usePermission, usePageLeave, useRouter, useReducedMotion, useRecentSearch, useResponsive, useResizeObserver, useScript, useScrollDirection, useScrollLock, useScrollPosition, useSessionStorage, useSmartForm, useSound, useSpeech, useSpeak, useStepper, useThrottle, useTimeout, useTimer, useToggle, useTouch, useUnmountedRef, useUndo, useUpdateEffect, useVisibilityChange, useWebSocket, useWindowSize, DrawerProvider, DynamicLoader, createOptimizedContext, };
12
+ export { getHook, setHook, privateAxios, publicAxios, useGenericReducer, useArray, useAsync, useAxios, useBrowser, useBattery, useBeforeUnload, useClipboard, useCookie, useClickAway, useCountDown, useCountUp, useCrossFieldValidation, useCss, useDrawer, useDarkMode, useDebounce, useDebouncedCallback, useDebouncedValue, useDelay, useDragReorder, useEventListener, useEventListeners, useRequest, useRequestRetry, useFieldArray, useForm, useFormSubmit, useFormWizard, useGeoLocation, useHoverDirty, useHistory, useHistoryState, useIdle, useImageLoader, useIndexedDB, useInfiniteScroll, useInterval, useIsFirstRender, useIsMounted, useKeyPress, useList, useLocalStorage, useLockBodyScroll, useLongPress, useMotion, useMediaQuery, useMousePosition, useOnlineStatus, usePersistedForm, usePersistedState, usePreferredLanguage, usePrevious, usePermission, usePageLeave, useRouter, useReducedMotion, useRecentSearch, useResponsive, useResizeObserver, useScript, useScrollDirection, useScrollLock, useScrollPosition, useSessionStorage, useSmartForm, useSound, useSpeech, useSpeak, useStepper, useThrottle, useTimeout, useTimer, useToggle, useTouch, useUnmountedRef, useUndo, useUpdateEffect, useVisibilityChange, useWebSocket, useWindowSize, DrawerProvider, createOptimizedContext, };
package/dist/index.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import 'nprogress/nprogress.css';
2
2
  import 'animate.css';
3
- import { DynamicLoader } from './chunk1516/chunk613852';
4
3
  import { ReactHooksWrapper, getHook, setHook } from './chunk1415/chunk143';
5
4
  import { useHistoryState, useIdle, useIsFirstRender, useList, useLockBodyScroll, useLongPress, useRecentSearch, useSpeech, usePermission, usePageLeave, useMotion, useHoverDirty, useBeforeUnload, useClickAway, useResponsive, useUnmountedRef } from './chunk1516/chunk726433';
6
5
  import { useBrowser, useRouter } from './chunk1516/chunk0022';
@@ -12,4 +11,4 @@ import { useGenericReducer, useArray, useAsync, useAxios, useClipboard, useCooki
12
11
  import { createOptimizedContext, useBattery, useCountDown, useCountUp, useCrossFieldValidation, useCss, useDragReorder, useEventListener, useEventListeners, useFieldArray, useFormSubmit, useFormWizard, useGeoLocation, useHistory, useInfiniteScroll, useIsMounted, usePersistedForm, usePreferredLanguage, useSessionStorage, useSmartForm, useSound, useSpeak, useTimer, useTouch, useUndo, useUpdateEffect, useWebSocket } from './chunk1516/chunk0021';
13
12
  import { DrawerProvider } from './chunk1213/chunk158261';
14
13
  export default ReactHooksWrapper;
15
- export { getHook, setHook, privateAxios, publicAxios, useGenericReducer, useArray, useAsync, useAxios, useBrowser, useBattery, useBeforeUnload, useClipboard, useCookie, useClickAway, useCountDown, useCountUp, useCrossFieldValidation, useCss, useDrawer, useDarkMode, useDebounce, useDebouncedCallback, useDebouncedValue, useDelay, useDragReorder, useEventListener, useEventListeners, useRequest, useRequestRetry, useFieldArray, useForm, useFormSubmit, useFormWizard, useGeoLocation, useHoverDirty, useHistory, useHistoryState, useIdle, useImageLoader, useIndexedDB, useInfiniteScroll, useInterval, useIsFirstRender, useIsMounted, useKeyPress, useList, useLocalStorage, useLockBodyScroll, useLongPress, useMotion, useMediaQuery, useMousePosition, useOnlineStatus, usePersistedForm, usePersistedState, usePreferredLanguage, usePrevious, usePermission, usePageLeave, useRouter, useReducedMotion, useRecentSearch, useResponsive, useResizeObserver, useScript, useScrollDirection, useScrollLock, useScrollPosition, useSessionStorage, useSmartForm, useSound, useSpeech, useSpeak, useStepper, useThrottle, useTimeout, useTimer, useToggle, useTouch, useUnmountedRef, useUndo, useUpdateEffect, useVisibilityChange, useWebSocket, useWindowSize, DrawerProvider, DynamicLoader, createOptimizedContext, };
14
+ export { getHook, setHook, privateAxios, publicAxios, useGenericReducer, useArray, useAsync, useAxios, useBrowser, useBattery, useBeforeUnload, useClipboard, useCookie, useClickAway, useCountDown, useCountUp, useCrossFieldValidation, useCss, useDrawer, useDarkMode, useDebounce, useDebouncedCallback, useDebouncedValue, useDelay, useDragReorder, useEventListener, useEventListeners, useRequest, useRequestRetry, useFieldArray, useForm, useFormSubmit, useFormWizard, useGeoLocation, useHoverDirty, useHistory, useHistoryState, useIdle, useImageLoader, useIndexedDB, useInfiniteScroll, useInterval, useIsFirstRender, useIsMounted, useKeyPress, useList, useLocalStorage, useLockBodyScroll, useLongPress, useMotion, useMediaQuery, useMousePosition, useOnlineStatus, usePersistedForm, usePersistedState, usePreferredLanguage, usePrevious, usePermission, usePageLeave, useRouter, useReducedMotion, useRecentSearch, useResponsive, useResizeObserver, useScript, useScrollDirection, useScrollLock, useScrollPosition, useSessionStorage, useSmartForm, useSound, useSpeech, useSpeak, useStepper, useThrottle, useTimeout, useTimer, useToggle, useTouch, useUnmountedRef, useUndo, useUpdateEffect, useVisibilityChange, useWebSocket, useWindowSize, DrawerProvider, createOptimizedContext, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-hook-toolkit",
3
- "version": "1.2.4",
3
+ "version": "1.3.1",
4
4
  "description": "Ultimate package for React developers, offering a powerful collection of hooks and components to enhance their development experience.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -33,20 +33,13 @@
33
33
  "license": "MIT",
34
34
  "devDependencies": {
35
35
  "@types/node": "^22.13.10",
36
- "@types/nprogress": "^0.2.3",
37
36
  "@types/react": "^18.2.14",
38
37
  "tslib": "^2.6.3",
39
38
  "typescript": "^5.2.2"
40
39
  },
41
40
  "dependencies": {
42
- "@emotion/react": "^11.14.0",
43
- "@emotion/styled": "^11.14.0",
44
- "@mui/icons-material": "^7.0.1",
45
- "@mui/material": "^5.14.0",
46
41
  "animate.css": "^4.1.1",
47
42
  "axios": "^1.7.8",
48
- "nprogress": "^0.2.0",
49
- "react": "^18.2.0",
50
- "react-error-boundary": "^4.0.13"
43
+ "react": "^18.2.0"
51
44
  }
52
45
  }