{
  "name": "beautiful-react-hooks",
  "version": "5.0.3",
  "description": "A collection of beautiful (and hopefully useful) React hooks to speed-up your components and hooks development",
  "main": "index.js",
  "module": "esm/index.js",
  "scripts": {
    "lint": "eslint src/ --ext .ts",
    "build-types": "tsc --project ./tsconfig.types.json",
    "build-cjs": "tsc --project ./tsconfig.cjs.json",
    "build-esm": "tsc --project ./tsconfig.esm.json",
    "build": "npx del-cli dist && npm run build-cjs && npm run build-esm && npm run build-types && echo 'Successfully built'",
    "build-doc": "npx del-cli dist-ghpages && node scripts/generate-doc-append-types.js && npx styleguidist build",
    "test": "nyc mocha --recursive --exit \"./test/**/*.spec.+(js|jsx)\"",
    "test:watch": "npm run test -- --watch",
    "start": "npx styleguidist server",
    "semantic-release": "semantic-release"
  },
  "browserslist": [
    ">1%",
    "last 1 version",
    "Firefox ESR",
    "not dead"
  ],
  "repository": {
    "type": "git",
    "url": "https://github.com/antonioru/beautiful-react-hooks.git"
  },
  "author": {
    "name": "Antonio Russo",
    "email": "antonio@beautifulinteractions.com"
  },
  "keywords": [
    "react",
    "react-hooks"
  ],
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/antonioru/beautiful-react-hooks/issues"
  },
  "homepage": "https://antonioru.github.io/beautiful-react-hooks/",
  "dependencies": {
    "lodash.debounce": "^4.0.8",
    "lodash.throttle": "^4.1.1"
  },
  "peerDependencies": {
    "react": ">=18.2.0 <20.0.0",
    "react-dom": ">=18.2.0 <20.0.0",
    "react-router-dom": ">=5.0.0",
    "rxjs": ">=7.0.0"
  },
  "devDependencies": {
    "@ant-design/icons": "5.0.1",
    "@babel/core": "7.21.0",
    "@babel/preset-env": "7.20.2",
    "@babel/preset-react": "7.18.6",
    "@babel/register": "^7.21.0",
    "@semantic-release/changelog": "6.0.2",
    "@semantic-release/commit-analyzer": "9.0.2",
    "@semantic-release/exec": "6.0.3",
    "@semantic-release/git": "10.0.1",
    "@semantic-release/github": "8.0.7",
    "@semantic-release/npm": "9.0.2",
    "@testing-library/react": "14.0.0",
    "@testing-library/react-hooks": "6.0.0",
    "@types/lodash.debounce": "4.0.7",
    "@types/lodash.throttle": "4.1.7",
    "@types/react-router-dom": "5.3.3",
    "antd": "5.3.1",
    "babel-loader": "^9.1.2",
    "babel-plugin-istanbul": "^6.1.1",
    "babel-plugin-transform-require-ignore": "^0.1.1",
    "chai": "^4.3.7",
    "css-loader": "^6.7.3",
    "eslint": "8.36.0",
    "eslint-config-standard-with-typescript": "34.0.0",
    "eslint-plugin-import": "2.27.5",
    "eslint-plugin-n": "15.6.1",
    "eslint-plugin-promise": "6.1.1",
    "eslint-plugin-react": "7.32.2",
    "glob": "^9.2.1",
    "husky": "^8.0.3",
    "jsdoc-to-markdown": "^8.0.0",
    "jsdom": "^21.1.1",
    "jsdom-global": "^3.0.2",
    "mocha": "10.2.0",
    "mock-local-storage": "1.1.23",
    "mutation-observer": "1.0.3",
    "nyc": "^15.1.0",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-router-dom": "5.3.4",
    "react-styleguidist": "13.1.1",
    "regenerator-runtime": "0.13.11",
    "rxjs": "7.8.0",
    "semantic-release": "^20.1.1",
    "sinon": "^15.0.2",
    "style-loader": "^3.3.1",
    "ts-loader": "9.4.2",
    "typescript": "4.9.5",
    "url-loader": "^4.1.1",
    "webpack": "5.76.1"
  },
  "exports": {
    "./useWindowScroll": {
      "import": "./esm/useWindowScroll.js",
      "require": "./useWindowScroll.js",
      "types": "./useWindowScroll.d.ts"
    },
    "./useWindowResize": {
      "import": "./esm/useWindowResize.js",
      "require": "./useWindowResize.js",
      "types": "./useWindowResize.d.ts"
    },
    "./useWillUnmount": {
      "import": "./esm/useWillUnmount.js",
      "require": "./useWillUnmount.js",
      "types": "./useWillUnmount.d.ts"
    },
    "./useViewportState": {
      "import": "./esm/useViewportState.js",
      "require": "./useViewportState.js",
      "types": "./useViewportState.d.ts"
    },
    "./useViewportSpy": {
      "import": "./esm/useViewportSpy.js",
      "require": "./useViewportSpy.js",
      "types": "./useViewportSpy.d.ts"
    },
    "./useVerticalSwipe": {
      "import": "./esm/useVerticalSwipe.js",
      "require": "./useVerticalSwipe.js",
      "types": "./useVerticalSwipe.d.ts"
    },
    "./useValueHistory": {
      "import": "./esm/useValueHistory.js",
      "require": "./useValueHistory.js",
      "types": "./useValueHistory.d.ts"
    },
    "./useValidatedState": {
      "import": "./esm/useValidatedState.js",
      "require": "./useValidatedState.js",
      "types": "./useValidatedState.d.ts"
    },
    "./useUpdateEffect": {
      "import": "./esm/useUpdateEffect.js",
      "require": "./useUpdateEffect.js",
      "types": "./useUpdateEffect.d.ts"
    },
    "./useUnmount": {
      "import": "./esm/useUnmount.js",
      "require": "./useUnmount.js",
      "types": "./useUnmount.d.ts"
    },
    "./useURLSearchParams": {
      "import": "./esm/useURLSearchParams.js",
      "require": "./useURLSearchParams.js",
      "types": "./useURLSearchParams.d.ts"
    },
    "./useTouchState": {
      "import": "./esm/useTouchState.js",
      "require": "./useTouchState.js",
      "types": "./useTouchState.d.ts"
    },
    "./useTouchEvents": {
      "import": "./esm/useTouchEvents.js",
      "require": "./useTouchEvents.js",
      "types": "./useTouchEvents.d.ts"
    },
    "./useTouch": {
      "import": "./esm/useTouch.js",
      "require": "./useTouch.js",
      "types": "./useTouch.d.ts"
    },
    "./useToggle": {
      "import": "./esm/useToggle.js",
      "require": "./useToggle.js",
      "types": "./useToggle.d.ts"
    },
    "./useTimeout": {
      "import": "./esm/useTimeout.js",
      "require": "./useTimeout.js",
      "types": "./useTimeout.d.ts"
    },
    "./useThrottledCallback": {
      "import": "./esm/useThrottledCallback.js",
      "require": "./useThrottledCallback.js",
      "types": "./useThrottledCallback.d.ts"
    },
    "./useSystemVoices": {
      "import": "./esm/useSystemVoices.js",
      "require": "./useSystemVoices.js",
      "types": "./useSystemVoices.d.ts"
    },
    "./useSwipeEvents": {
      "import": "./esm/useSwipeEvents.js",
      "require": "./useSwipeEvents.js",
      "types": "./useSwipeEvents.d.ts"
    },
    "./useSwipe": {
      "import": "./esm/useSwipe.js",
      "require": "./useSwipe.js",
      "types": "./useSwipe.d.ts"
    },
    "./useSpeechSynthesis": {
      "import": "./esm/useSpeechSynthesis.js",
      "require": "./useSpeechSynthesis.js",
      "types": "./useSpeechSynthesis.d.ts"
    },
    "./useSpeechRecognition": {
      "import": "./esm/useSpeechRecognition.js",
      "require": "./useSpeechRecognition.js",
      "types": "./useSpeechRecognition.d.ts"
    },
    "./useSessionStorage": {
      "import": "./esm/useSessionStorage.js",
      "require": "./useSessionStorage.js",
      "types": "./useSessionStorage.d.ts"
    },
    "./useSearchQuery": {
      "import": "./esm/useSearchQuery.js",
      "require": "./useSearchQuery.js",
      "types": "./useSearchQuery.d.ts"
    },
    "./useResizeObserver": {
      "import": "./esm/useResizeObserver.js",
      "require": "./useResizeObserver.js",
      "types": "./useResizeObserver.d.ts"
    },
    "./useRequestAnimationFrame": {
      "import": "./esm/useRequestAnimationFrame.js",
      "require": "./useRequestAnimationFrame.js",
      "types": "./useRequestAnimationFrame.d.ts"
    },
    "./useRenderInfo": {
      "import": "./esm/useRenderInfo.js",
      "require": "./useRenderInfo.js",
      "types": "./useRenderInfo.d.ts"
    },
    "./useQueryParams": {
      "import": "./esm/useQueryParams.js",
      "require": "./useQueryParams.js",
      "types": "./useQueryParams.d.ts"
    },
    "./useQueryParam": {
      "import": "./esm/useQueryParam.js",
      "require": "./useQueryParam.js",
      "types": "./useQueryParam.d.ts"
    },
    "./usePreviousValue": {
      "import": "./esm/usePreviousValue.js",
      "require": "./usePreviousValue.js",
      "types": "./usePreviousValue.d.ts"
    },
    "./useOnlineState": {
      "import": "./esm/useOnlineState.js",
      "require": "./useOnlineState.js",
      "types": "./useOnlineState.d.ts"
    },
    "./useObservable": {
      "import": "./esm/useObservable.js",
      "require": "./useObservable.js",
      "types": "./useObservable.d.ts"
    },
    "./useObjectState": {
      "import": "./esm/useObjectState.js",
      "require": "./useObjectState.js",
      "types": "./useObjectState.d.ts"
    },
    "./useMutationObserver": {
      "import": "./esm/useMutationObserver.js",
      "require": "./useMutationObserver.js",
      "types": "./useMutationObserver.d.ts"
    },
    "./useMutableState": {
      "import": "./esm/useMutableState.js",
      "require": "./useMutableState.js",
      "types": "./useMutableState.d.ts"
    },
    "./useMouseState": {
      "import": "./esm/useMouseState.js",
      "require": "./useMouseState.js",
      "types": "./useMouseState.d.ts"
    },
    "./useMouseEvents": {
      "import": "./esm/useMouseEvents.js",
      "require": "./useMouseEvents.js",
      "types": "./useMouseEvents.d.ts"
    },
    "./useMouse": {
      "import": "./esm/useMouse.js",
      "require": "./useMouse.js",
      "types": "./useMouse.d.ts"
    },
    "./useMediaQuery": {
      "import": "./esm/useMediaQuery.js",
      "require": "./useMediaQuery.js",
      "types": "./useMediaQuery.d.ts"
    },
    "./useLongPress": {
      "import": "./esm/useLongPress.js",
      "require": "./useLongPress.js",
      "types": "./useLongPress.d.ts"
    },
    "./useLocalStorage": {
      "import": "./esm/useLocalStorage.js",
      "require": "./useLocalStorage.js",
      "types": "./useLocalStorage.d.ts"
    },
    "./useLifecycle": {
      "import": "./esm/useLifecycle.js",
      "require": "./useLifecycle.js",
      "types": "./useLifecycle.d.ts"
    },
    "./useIsFirstRender": {
      "import": "./esm/useIsFirstRender.js",
      "require": "./useIsFirstRender.js",
      "types": "./useIsFirstRender.d.ts"
    },
    "./useInterval": {
      "import": "./esm/useInterval.js",
      "require": "./useInterval.js",
      "types": "./useInterval.d.ts"
    },
    "./useInfiniteScroll": {
      "import": "./esm/useInfiniteScroll.js",
      "require": "./useInfiniteScroll.js",
      "types": "./useInfiniteScroll.d.ts"
    },
    "./useHorizontalSwipe": {
      "import": "./esm/useHorizontalSwipe.js",
      "require": "./useHorizontalSwipe.js",
      "types": "./useHorizontalSwipe.d.ts"
    },
    "./useGlobalEvent": {
      "import": "./esm/useGlobalEvent.js",
      "require": "./useGlobalEvent.js",
      "types": "./useGlobalEvent.d.ts"
    },
    "./useGeolocationState": {
      "import": "./esm/useGeolocationState.js",
      "require": "./useGeolocationState.js",
      "types": "./useGeolocationState.d.ts"
    },
    "./useGeolocationEvents": {
      "import": "./esm/useGeolocationEvents.js",
      "require": "./useGeolocationEvents.js",
      "types": "./useGeolocationEvents.d.ts"
    },
    "./useGeolocation": {
      "import": "./esm/useGeolocation.js",
      "require": "./useGeolocation.js",
      "types": "./useGeolocation.d.ts"
    },
    "./useEvent": {
      "import": "./esm/useEvent.js",
      "require": "./useEvent.js",
      "types": "./useEvent.d.ts"
    },
    "./useDropZone": {
      "import": "./esm/useDropZone.js",
      "require": "./useDropZone.js",
      "types": "./useDropZone.d.ts"
    },
    "./useDragEvents": {
      "import": "./esm/useDragEvents.js",
      "require": "./useDragEvents.js",
      "types": "./useDragEvents.d.ts"
    },
    "./useDrag": {
      "import": "./esm/useDrag.js",
      "require": "./useDrag.js",
      "types": "./useDrag.d.ts"
    },
    "./useDidMount": {
      "import": "./esm/useDidMount.js",
      "require": "./useDidMount.js",
      "types": "./useDidMount.d.ts"
    },
    "./useDefaultedState": {
      "import": "./esm/useDefaultedState.js",
      "require": "./useDefaultedState.js",
      "types": "./useDefaultedState.d.ts"
    },
    "./useDebouncedCallback": {
      "import": "./esm/useDebouncedCallback.js",
      "require": "./useDebouncedCallback.js",
      "types": "./useDebouncedCallback.d.ts"
    },
    "./useDarkMode": {
      "import": "./esm/useDarkMode.js",
      "require": "./useDarkMode.js",
      "types": "./useDarkMode.d.ts"
    },
    "./useCookie": {
      "import": "./esm/useCookie.js",
      "require": "./useCookie.js",
      "types": "./useCookie.d.ts"
    },
    "./useConditionalTimeout": {
      "import": "./esm/useConditionalTimeout.js",
      "require": "./useConditionalTimeout.js",
      "types": "./useConditionalTimeout.d.ts"
    },
    "./useAudio": {
      "import": "./esm/useAudio.js",
      "require": "./useAudio.js",
      "types": "./useAudio.d.ts"
    }
  }
}
