{"id":13450234,"url":"https://github.com/craig1123/react-recipes","last_synced_at":"2025-05-14T05:10:25.573Z","repository":{"id":38272639,"uuid":"217430503","full_name":"craig1123/react-recipes","owner":"craig1123","description":"👩‍🍳 A list of React Hooks utility library containing popular customized hooks","archived":false,"fork":false,"pushed_at":"2025-03-02T03:40:33.000Z","size":1758,"stargazers_count":1036,"open_issues_count":13,"forks_count":68,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-04-14T10:22:16.768Z","etag":null,"topics":["custom-hooks","customized-hooks","hooks","react","react-components","react-hooks","react-recipes"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/craig1123.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-25T02:01:29.000Z","updated_at":"2025-03-11T11:49:46.000Z","dependencies_parsed_at":"2024-01-07T18:04:12.632Z","dependency_job_id":"e1ddbaca-eb02-47e8-a035-4e0d75219b11","html_url":"https://github.com/craig1123/react-recipes","commit_stats":{"total_commits":128,"total_committers":11,"mean_commits":"11.636363636363637","dds":0.40625,"last_synced_commit":"f6fddb6c535299677bbf680acc66a933f1b4af39"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craig1123%2Freact-recipes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craig1123%2Freact-recipes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craig1123%2Freact-recipes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/craig1123%2Freact-recipes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/craig1123","download_url":"https://codeload.github.com/craig1123/react-recipes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254076849,"owners_count":22010611,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-hooks","customized-hooks","hooks","react","react-components","react-hooks","react-recipes"],"created_at":"2024-07-31T07:00:32.556Z","updated_at":"2025-05-14T05:10:25.552Z","avatar_url":"https://github.com/craig1123.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Packages"],"sub_categories":[],"readme":"\u003cp align=\"center\" style=\"color: #343a40\"\u003e\n  \u003cimg\n    src=\"https://s3.amazonaws.com/pix.iemoji.com/images/emoji/apple/ios-12/256/woman-cook.png\" \n    alt=\"react-recipes-logo\" \n    height=\"150\" \n    width=\"150\"\n    \u003e\n  \u003ch1 align=\"center\"\u003eReact Recipes\u003c/h1\u003e\n\u003c/p\u003e\n\u003cp align=\"center\" style=\"font-size: 1.2rem;\"\u003eA React Hooks utility library containing popular customized hooks\u003c/p\u003e\n\u003cp align=\"center\" style=\"font-size: 1.2rem;\"\u003eWhat's your favorite dish?\u003c/p\u003e\n\n[![Build Status](https://travis-ci.com/craig1123/react-recipes.svg?branch=master)](https://travis-ci.com/craig1123/react-recipes)\n![](https://badgen.net/npm/v/react-recipes)\n![](https://badgen.net/bundlephobia/minzip/react-recipes)\n![](https://badgen.net/npm/dt/react-recipes)\n![](https://img.shields.io/badge/license-MIT-green.svg)\n\n```bash\nnpm i react-recipes --save\n```\n\n```bash\nyarn add react-recipes\n```\n\n## 🥘 Recipes Documentation\n\n| Name                                                        | Returns                                                       | Arguments                                                                               |\n| ----------------------------------------------------------- | ------------------------------------------------------------- | --------------------------------------------------------------------------------------- |\n| 🍡 [`useAdjustColor`](./docs/useAdjustColor.md)             | color                                                         | (percentage, color1, color2: null, linearBlend: false)                                  |\n| 🥟 [`useArray`](./docs/useArray.md)                         | { value, setValue, removeById, removeIndex, clear }           | (initialValue)                                                                          |\n| 🔄 [`useAsync`](./docs/useAsync.md)                         | { error, execute, pending, value }                            | (asyncFunction, immediate: true)                                                        |\n| 🍪 [`useCookie`](./docs/useCookie.md)                       | [cookieValue, updateCookie, deleteCookie]                     | (cookieName, initialValue)                                                              |\n| 🥠 [`useCopyClipboard`](./docs/useCopyClipboard.md)         | [isCopied, setIsCopied]                                       | (duration: 2000)                                                                        |\n| 🍩 [`useDarkMode`](./docs/useDarkMode.md)                   | [enabled, setEnabledState]                                    | -                                                                                       |\n| 🍜 [`useDebounce`](./docs/useDebounce.md)                   | debouncedValue                                                | (value, delay)                                                                          |\n| 🥡 [`useDimensions`](./docs/useDimensions.md)               | [ref, dimensions, node]                                       | (liveMeasure: true, delay: 250, initialDimensions: {}, effectDependencies: [])          |\n| 🍳 [`useEventListener`](./docs/useEventListener.md)         | -                                                             | (eventName, handle, element: window)                                                    |\n| 🌮 [`useFullScreen`](./docs/useFullScreen.md)               | { fullScreen, open, close, toggle }                           | (element: document.documentElement)                                                     |\n| 🌯 [`useGeolocation`](./docs/useGeolocation.md)             | { latitude, longitude, timestamp, accuracy, error }           | (watch: false, settings: {enableHighAccuracy: false, timeout: Infinity, maximumAge: 0}) |\n| 🌭 [`useHover`](./docs/useHover.md)                         | [callbackRef, value]                                          | -                                                                                       |\n| 🍦 [`useInterval`](./docs/useInterval.md)                   | -                                                             | (callback, delay, runOnLoad: false, effectDependencies: [])                             |\n| 🍐 [`useIsClient`](./docs/useIsClient.md)                   | isClient                                                      | -                                                                                       |\n| 🥧 [`useKeyPress`](./docs/useKeyPress.md)                   | keyPressed                                                    | (targetKey)                                                                             |\n| 🍱 [`useLocalStorage`](./docs/useLocalStorage.md)           | [storedValue, setValue]                                       | (key, initialValue)                                                                     |\n| 📍 [`useLocation`](./docs/useLocation.md)                   | { push, replace, pathname, search }                           | -                                                                                       |\n| 🍋 [`useLockBodyScroll`](./docs/useLockBodyScroll.md)       | -                                                             | -                                                                                       |\n| 🍉 [`useMedia`](./docs/useMedia.md)                         | value                                                         | (queries, values, defaultValue)                                                         |\n| 🥭 [`useMultiKeyPress`](./docs/useMultiKeyPress.md)         | keysPressed                                                   | (targetKey)                                                                             |\n| 🔔 [`useNotification`](./docs/useNotification.md)           | fireNotify                                                    | (title, options)                                                                        |\n| 🥑 [`useOnClickOutside`](./docs/useOnClickOutside.md)       | -                                                             | (ref, callback)                                                                         |\n| 🥒 [`useOnlineStatus`](./docs/useOnlineStatus.md)           | onlineStatus                                                  | -                                                                                       |\n| 🍿 [`usePrevious`](./docs/usePrevious.md)                   | previous                                                      | (value)                                                                                 |\n| 🖨 [`usePrint`](./docs/usePrint.md)                          | { ref, handlePrint }                                          | (style = {})                                                                            |\n| :question: [`useQueryParams`](./docs/useQueryParams.md)     | { getParams, setParams }                                      | -                                                                                       |\n| 🍣 [`useScript`](./docs/useScript.md)                       | [loaded, error]                                               | (src)                                                                                   |\n| 🍖 [`useSpeechRecognition`](./docs/useSpeechRecognition.md) | { supported, listen, listening, stop }                        | ({ onEnd, onResult, onError })                                                          |\n| 🍗 [`useSpeechSynthesis`](./docs/useSpeechSynthesis.md)     | { supported, speak, speaking, cancel, voices, pause, resume } | ({ onEnd, onResult, onError, onBoundary, onPause, onResume })                           |\n| 🍏 [`useThrottle`](./docs/useThrottle.md)                   | throttledValue                                                | (value, ms: 250)                                                                        |\n| 🍷 [`useWhyDidYouUpdate`](./docs/useWhyDidYouUpdate.md)     | -                                                             | (name, props)                                                                           |\n| 🥖 [`useWindowScroll`](./docs/useWindowScroll.md)           | { x, y }                                                      | -                                                                                       |\n| 🥮 [`useWindowSize`](./docs/useWindowSize.md)               | { height, width }                                             | (initialWidth, initialHeight)                                                           |\n| 🥝 [`useWorker`](./docs/useWorker.md)                       | worker instance                                               | (scriptPath, workerOptions, attributes)   \n| 👁 [`useIntersectionObserver`](./docs/useWorker.md)                       | { ref, isContentVisible }                                               | (options)                                                 |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraig1123%2Freact-recipes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcraig1123%2Freact-recipes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraig1123%2Freact-recipes/lists"}