{
  "name": "guarahooks",
  "homepage": "https://guarahooks.com/",
  "items": [
    {
      "name": "use-window-size",
      "type": "registry:hook",
      "title": "UseWindowSize",
      "description": "Tracks the current window's dimensions.",
      "files": [
        {
          "path": "registry/hooks/use-window-size.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-window-size.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-previous",
      "type": "registry:hook",
      "title": "UsePrevious",
      "description": "Tracks the previous value of a state.",
      "files": [
        {
          "path": "registry/hooks/use-previous.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-previous.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-media",
      "type": "registry:hook",
      "title": "UseMedia",
      "description": "Checks if the current window matches a media query.",
      "files": [
        {
          "path": "registry/hooks/use-media.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-media.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-mouse",
      "type": "registry:hook",
      "title": "UseMouse",
      "description": "Tracks the mouse position in the element and document.",
      "files": [
        {
          "path": "registry/hooks/use-mouse.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-mouse.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-keypress",
      "type": "registry:hook",
      "title": "UseKeypress",
      "description": "Tracks keyboard combinations and key presses.",
      "files": [
        {
          "path": "registry/hooks/use-keypress.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-keypress.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-orientation",
      "type": "registry:hook",
      "title": "UseOrientation",
      "description": "Tracks the current orientation of the device.",
      "files": [
        {
          "path": "registry/hooks/use-orientation.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-orientation.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-intersection-observer",
      "type": "registry:hook",
      "title": "UseIntersectionObserver",
      "description": "Observes when an element intersects the viewport or a root element.",
      "files": [
        {
          "path": "registry/hooks/use-intersection-observer.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-intersection-observer.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-toggle",
      "type": "registry:hook",
      "title": "UseToggle",
      "description": "Controls a boolean state with a toggler.",
      "files": [
        {
          "path": "registry/hooks/use-toggle.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-toggle.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-set",
      "type": "registry:hook",
      "title": "UseSet",
      "description": "Manages a Set of items with ease.",
      "files": [
        {
          "path": "registry/hooks/use-set.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-set.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-map",
      "type": "registry:hook",
      "title": "UseMap",
      "description": "Manages a Map of key/value pairs with ease.",
      "files": [
        {
          "path": "registry/hooks/use-map.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-map.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-local-storage",
      "type": "registry:hook",
      "title": "UseLocalStorage",
      "description": "Synchronizes a value with localStorage.",
      "files": [
        {
          "path": "registry/hooks/use-local-storage.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-local-storage.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-session-storage",
      "type": "registry:hook",
      "title": "UseSessionStorage",
      "description": "Synchronizes a value with sessionStorage.",
      "files": [
        {
          "path": "registry/hooks/use-session-storage.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-session-storage.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-cookie",
      "type": "registry:hook",
      "title": "UseCookie",
      "description": "Synchronizes a value with cookies.",
      "files": [
        {
          "path": "registry/hooks/use-cookie.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-cookie.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-copy-to-clipboard",
      "type": "registry:hook",
      "title": "UseCopyToClipboard",
      "description": "Copies text to the clipboard.",
      "files": [
        {
          "path": "registry/hooks/use-copy-to-clipboard.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-copy-to-clipboard.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-debounce-callback",
      "type": "registry:hook",
      "title": "UseDebounceCallback",
      "description": "Debounce the call of a function.",
      "files": [
        {
          "path": "registry/hooks/use-debounce-callback.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-debounce-callback.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-debounce-state",
      "type": "registry:hook",
      "title": "UseDebounceState",
      "description": "Debounce the state update.",
      "files": [
        {
          "path": "registry/hooks/use-debounce-state.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-debounce-state.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-click-outside",
      "type": "registry:hook",
      "title": "UseClickOutside",
      "description": "Detects clicks outside of a referenced element.",
      "files": [
        {
          "path": "registry/hooks/use-click-outside.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-click-outside.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-on-mount",
      "type": "registry:hook",
      "title": "UseOnMount",
      "description": "Executes a function only once when the component is mounted.",
      "files": [
        {
          "path": "registry/hooks/use-on-mount.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-on-mount.tsx"
        }
      ],
      "categories": [
        "lifecycle"
      ]
    },
    {
      "name": "use-on-unmount",
      "type": "registry:hook",
      "title": "UseOnUnmount",
      "description": "Executes a function only once when the component is unmounted.",
      "files": [
        {
          "path": "registry/hooks/use-on-unmount.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-on-unmount.tsx"
        }
      ],
      "categories": [
        "lifecycle"
      ]
    },
    {
      "name": "use-did-update",
      "type": "registry:hook",
      "title": "UseDidUpdate",
      "description": "Executes a function when the component is updated, but not when it is mounted.",
      "files": [
        {
          "path": "registry/hooks/use-did-update.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-did-update.tsx"
        }
      ],
      "categories": [
        "lifecycle"
      ]
    },
    {
      "name": "use-os",
      "type": "registry:hook",
      "title": "UseOS",
      "description": "Detects the user's operating system.",
      "files": [
        {
          "path": "registry/hooks/use-os.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-os.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-idle",
      "type": "registry:hook",
      "title": "UseIdle",
      "description": "Detects if the user is idle.",
      "files": [
        {
          "path": "registry/hooks/use-idle.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-idle.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-is-touch-device",
      "type": "registry:hook",
      "title": "UseIsTouchDevice",
      "description": "Hook to detect if the user's device has touch screen functionality.",
      "files": [
        {
          "path": "registry/hooks/use-is-touch-device.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-is-touch-device.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-fullscreen",
      "type": "registry:hook",
      "title": "UseFullscreen",
      "description": "Enters and exits fullscreen mode.",
      "files": [
        {
          "path": "registry/hooks/use-fullscreen.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-fullscreen.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-confirm",
      "type": "registry:hook",
      "title": "UseConfirm",
      "description": "Manages a confirmation dialog.",
      "files": [
        {
          "path": "registry/hooks/use-confirm.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-confirm.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-notifications",
      "type": "registry:hook",
      "title": "UseNotifications",
      "description": "Manages browser notifications.",
      "files": [
        {
          "path": "registry/hooks/use-notifications.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-notifications.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-page-leave",
      "type": "registry:hook",
      "title": "UsePageLeave",
      "description": "Detects when the user tries to leave the page.",
      "files": [
        {
          "path": "registry/hooks/use-page-leave.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-page-leave.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-disclosure",
      "type": "registry:hook",
      "title": "UseDisclosure",
      "description": "Manages boolean state for UI components like dialogs, modals, and popovers.",
      "files": [
        {
          "path": "registry/hooks/use-disclosure.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-disclosure.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-mutation-observer",
      "type": "registry:hook",
      "title": "UseMutationObserver",
      "description": "Observes changes to the DOM using the Mutation Observer API",
      "files": [
        {
          "path": "registry/hooks/use-mutation-observer.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-mutation-observer.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-resize-observer",
      "type": "registry:hook",
      "title": "UseResizeObserver",
      "description": "Observes size changes of an element using the Resize Observer API",
      "files": [
        {
          "path": "registry/hooks/use-resize-observer.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-resize-observer.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-fetch",
      "type": "registry:hook",
      "title": "UseFetch",
      "description": "Abstracts the Fetch API with loading, error, and data state management.",
      "files": [
        {
          "path": "registry/hooks/use-fetch.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-fetch.tsx"
        }
      ],
      "categories": [
        "data-fetching"
      ]
    },
    {
      "name": "use-pagination",
      "type": "registry:hook",
      "title": "UsePagination",
      "description": "Hook for controlling list pagination.",
      "files": [
        {
          "path": "registry/hooks/use-pagination.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-pagination.tsx"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-event-listener",
      "type": "registry:hook",
      "title": "UseEventListener",
      "description": "Manages DOM event listeners with proper cleanup.",
      "files": [
        {
          "path": "registry/hooks/use-event-listener.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-event-listener.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-axios",
      "type": "registry:hook",
      "title": "UseAxios",
      "description": "A customizable hook for making HTTP requests with Axios",
      "files": [
        {
          "path": "registry/hooks/use-axios.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-axios.tsx"
        }
      ],
      "categories": [
        "data-fetching"
      ]
    },
    {
      "name": "use-page-title",
      "type": "registry:hook",
      "title": "UsePageTitle",
      "description": "Modifies the page title dynamically.",
      "files": [
        {
          "path": "registry/hooks/use-page-title.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-page-title.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-interval",
      "type": "registry:hook",
      "title": "UseInterval",
      "description": "Runs a callback at specified intervals.",
      "files": [
        {
          "path": "registry/hooks/use-interval.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-interval.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-timeout",
      "type": "registry:hook",
      "title": "UseTimeout",
      "description": "Executes a callback after a specified delay.",
      "files": [
        {
          "path": "registry/hooks/use-timeout.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-timeout.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-battery-status",
      "type": "registry:hook",
      "title": "UseBatteryStatus",
      "description": "Access system Battery Status via the Battery Status API.",
      "files": [
        {
          "path": "registry/hooks/use-battery-status.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-battery-status.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-geolocation",
      "type": "registry:hook",
      "title": "UseGeolocation",
      "description": "Declarative wrapper for the Geolocation API.",
      "files": [
        {
          "path": "registry/hooks/use-geolocation.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-geolocation.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-isomorphic-layout-effect",
      "type": "registry:hook",
      "title": "UseIsomorphicLayoutEffect",
      "description": "A hook that uses useLayoutEffect on the client and falls back to useEffect on the server to avoid SSR warnings.",
      "files": [
        {
          "path": "registry/hooks/use-isomorphic-layout-effect.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-isomorphic-layout-effect.tsx"
        }
      ],
      "categories": [
        "lifecycle"
      ]
    },
    {
      "name": "use-scroll-position",
      "type": "registry:hook",
      "title": "UseScrollPosition",
      "description": "Tracks the current scroll position of the page.",
      "files": [
        {
          "path": "registry/hooks/use-scroll-position.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-scroll-position.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-scroll-lock",
      "type": "registry:hook",
      "title": "UseScrollLock",
      "description": "Lock and unlock scrolling on an element or the page",
      "files": [
        {
          "path": "registry/hooks/use-scroll-lock.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-scroll-lock.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-abort-controller",
      "type": "registry:hook",
      "title": "UseAbortController",
      "description": "Provides AbortController functionality for canceling asynchronous operations.",
      "files": [
        {
          "path": "registry/hooks/use-abort-controller.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-abort-controller.tsx"
        }
      ],
      "categories": [
        "utilities"
      ]
    },
    {
      "name": "use-next-auth",
      "type": "registry:hook",
      "title": "UseNextAuth",
      "description": "Enhanced wrapper for NextAuth.js session management.",
      "files": [
        {
          "path": "registry/hooks/use-next-auth.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-next-auth.tsx"
        }
      ],
      "categories": [
        "auth"
      ]
    },
    {
      "name": "use-react-hook-form",
      "type": "registry:hook",
      "title": "UseReactHookForm",
      "description": "Custom wrapper for React Hook Form.",
      "files": [
        {
          "path": "registry/hooks/use-react-hook-form.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-react-hook-form.tsx"
        }
      ],
      "categories": [
        "forms"
      ]
    },
    {
      "name": "use-better-auth",
      "type": "registry:hook",
      "title": "UseBetterAuth",
      "description": "Flexible authentication hook.",
      "files": [
        {
          "path": "registry/hooks/use-better-auth.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-better-auth.tsx"
        }
      ],
      "categories": [
        "auth"
      ]
    },
    {
      "name": "use-formik",
      "type": "registry:hook",
      "title": "UseFormik",
      "description": "Custom wrapper for Formik.",
      "files": [
        {
          "path": "registry/hooks/use-formik.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-formik.tsx"
        }
      ],
      "categories": [
        "forms"
      ]
    },
    {
      "name": "use-eye-dropper",
      "type": "registry:hook",
      "title": "UseEyeDropper",
      "description": "Pick colors from anywhere on the screen using the EyeDropper API.",
      "files": [
        {
          "path": "registry/hooks/use-eye-dropper.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-eye-dropper.tsx"
        }
      ],
      "categories": [
        "ui-and-dom"
      ]
    },
    {
      "name": "use-ky",
      "type": "registry:hook",
      "title": "UseKy",
      "description": "A customizable hook for making HTTP requests using Ky",
      "files": [
        {
          "path": "registry/hooks/use-ky.tsx",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-ky.tsx"
        }
      ],
      "categories": [
        "data-fetching"
      ]
    },
    {
      "name": "use-array-state",
      "type": "registry:hook",
      "title": "UseArrayState",
      "description": "Manages an array as a React state with built-in array manipulation methods.",
      "files": [
        {
          "path": "registry/hooks/use-array-state.ts",
          "type": "registry:hook",
          "target": "hooks/guarahooks/use-array-state.ts"
        }
      ],
      "categories": [
        "state-management"
      ]
    },
    {
      "name": "use-window-size-demo",
      "type": "registry:example",
      "title": "UseWindowSizeDemo",
      "description": "use-window-size's hook in action.",
      "registryDependencies": [
        "card",
        "https://guarahooks.com/r/use-window-size.json"
      ],
      "files": [
        {
          "path": "registry/example/use-window-size-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-window-size-demo.tsx"
        }
      ]
    },
    {
      "name": "use-previous-demo",
      "type": "registry:example",
      "title": "UsePreviousDemo",
      "description": "use-previous's hook in action.",
      "registryDependencies": [
        "card",
        "button"
      ],
      "files": [
        {
          "path": "registry/example/use-previous-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-previous-demo.tsx"
        }
      ]
    },
    {
      "name": "use-media-demo",
      "type": "registry:example",
      "title": "UseMediaDemo",
      "description": "use-media's hook in action.",
      "registryDependencies": [
        "card",
        "https://guarahooks.com/r/use-media.json"
      ],
      "files": [
        {
          "path": "registry/example/use-media-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-media-demo.tsx"
        }
      ]
    },
    {
      "name": "use-mouse-demo",
      "type": "registry:example",
      "title": "UseMouseDemo",
      "description": "use-mouse's hook in action.",
      "registryDependencies": [
        "checkbox",
        "card",
        "https://guarahooks.com/r/use-mouse.json"
      ],
      "files": [
        {
          "path": "registry/example/use-mouse-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-mouse-demo.tsx"
        }
      ]
    },
    {
      "name": "use-click-outside-demo",
      "type": "registry:example",
      "title": "UseClickOutsideDemo",
      "description": "use-click-outside's hook in action.",
      "registryDependencies": [
        "card",
        "https://guarahooks.com/r/use-click-outside.json"
      ],
      "files": [
        {
          "path": "registry/example/use-click-outside-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-click-outside-demo.tsx"
        }
      ]
    },
    {
      "name": "use-keypress-demo",
      "type": "registry:example",
      "title": "UseKeypressDemo",
      "description": "use-keypress's hook in action.",
      "registryDependencies": [
        "card",
        "https://guarahooks.com/r/use-keypress.json"
      ],
      "files": [
        {
          "path": "registry/example/use-keypress-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-keypress-demo.tsx"
        }
      ]
    },
    {
      "name": "use-orientation-demo",
      "type": "registry:example",
      "title": "UseOrientationDemo",
      "description": "use-orientation's hook in action.",
      "registryDependencies": [
        "card",
        "https://guarahooks.com/r/use-orientation.json"
      ],
      "files": [
        {
          "path": "registry/example/use-orientation-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-orientation-demo.tsx"
        }
      ]
    },
    {
      "name": "use-toggle-demo",
      "type": "registry:example",
      "title": "UseToggleDemo",
      "description": "use-toggle's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-toggle.json"
      ],
      "files": [
        {
          "path": "registry/example/use-toggle-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-toggle-demo.tsx"
        }
      ]
    },
    {
      "name": "use-set-demo",
      "type": "registry:example",
      "title": "UseSetDemo",
      "description": "use-set's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "input",
        "https://guarahooks.com/r/use-set.json"
      ],
      "files": [
        {
          "path": "registry/example/use-set-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-set-demo.tsx"
        }
      ]
    },
    {
      "name": "use-map-demo",
      "type": "registry:example",
      "title": "UseMapDemo",
      "description": "use-map's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "input",
        "https://guarahooks.com/r/use-map.json"
      ],
      "files": [
        {
          "path": "registry/example/use-map-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-map-demo.tsx"
        }
      ]
    },
    {
      "name": "use-local-storage-demo",
      "type": "registry:example",
      "title": "UseLocalStorageDemo",
      "description": "use-local-storage's hook in action.",
      "registryDependencies": [
        "card",
        "input",
        "label",
        "https://guarahooks.com/r/use-local-storage.json"
      ],
      "files": [
        {
          "path": "registry/example/use-local-storage-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-local-storage-demo.tsx"
        }
      ]
    },
    {
      "name": "use-session-storage-demo",
      "type": "registry:example",
      "title": "UseSessionStorageDemo",
      "description": "use-session-storage's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "input",
        "label",
        "https://guarahooks.com/r/use-session-storage.json"
      ],
      "files": [
        {
          "path": "registry/example/use-session-storage-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-session-storage-demo.tsx"
        }
      ]
    },
    {
      "name": "use-cookie-demo",
      "type": "registry:example",
      "title": "UseCookieDemo",
      "description": "use-cookie's hook in action.",
      "registryDependencies": [
        "card",
        "input",
        "button",
        "https://guarahooks.com/r/use-cookie.json"
      ],
      "files": [
        {
          "path": "registry/example/use-cookie-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-cookie-demo.tsx"
        }
      ]
    },
    {
      "name": "use-copy-to-clipboard-demo",
      "type": "registry:example",
      "title": "UseCopyToClipboardDemo",
      "description": "use-copy-to-clipboard's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "input",
        "https://guarahooks.com/r/use-copy-to-clipboard.json"
      ],
      "files": [
        {
          "path": "registry/example/use-copy-to-clipboard-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-copy-to-clipboard-demo.tsx"
        }
      ]
    },
    {
      "name": "use-debounce-callback-demo",
      "type": "registry:example",
      "title": "UseDebounceCallbackDemo",
      "description": "use-debounce-callback's hook in action.",
      "registryDependencies": [
        "card",
        "input",
        "https://guarahooks.com/r/use-debounce-callback.json"
      ],
      "files": [
        {
          "path": "registry/example/use-debounce-callback-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-debounce-callback-demo.tsx"
        }
      ]
    },
    {
      "name": "use-debounce-state-demo",
      "type": "registry:example",
      "title": "UseDebounceStateDemo",
      "description": "use-debounce-state's hook in action.",
      "registryDependencies": [
        "card",
        "input",
        "https://guarahooks.com/r/use-debounce-state.json"
      ],
      "files": [
        {
          "path": "registry/example/use-debounce-state-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-debounce-state-demo.tsx"
        }
      ]
    },
    {
      "name": "use-on-mount-demo",
      "type": "registry:example",
      "title": "UseOnMountDemo",
      "description": "use-on-mount's hook in action.",
      "registryDependencies": [
        "card",
        "https://guarahooks.com/r/use-on-mount.json"
      ],
      "files": [
        {
          "path": "registry/example/use-on-mount-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-on-mount-demo.tsx"
        }
      ]
    },
    {
      "name": "use-on-unmount-demo",
      "type": "registry:example",
      "title": "UseOnUnmountDemo",
      "description": "use-on-unmount's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "sonner",
        "https://guarahooks.com/r/use-on-unmount.json"
      ],
      "files": [
        {
          "path": "registry/example/use-on-unmount-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-on-unmount-demo.tsx"
        }
      ]
    },
    {
      "name": "use-did-update-demo",
      "type": "registry:example",
      "title": "UseDidUpdateDemo",
      "description": "use-did-update's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-did-update.json"
      ],
      "files": [
        {
          "path": "registry/example/use-did-update-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-did-update-demo.tsx"
        }
      ]
    },
    {
      "name": "use-os-demo",
      "type": "registry:example",
      "title": "UseOSDemo",
      "description": "use-os's hook in action.",
      "registryDependencies": [
        "card",
        "https://guarahooks.com/r/use-os.json"
      ],
      "files": [
        {
          "path": "registry/example/use-os-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-os-demo.tsx"
        }
      ]
    },
    {
      "name": "use-idle-demo",
      "type": "registry:example",
      "title": "UseIdleDemo",
      "description": "use-idle's hook in action.",
      "registryDependencies": [
        "card",
        "badge",
        "button",
        "https://guarahooks.com/r/use-idle.json"
      ],
      "files": [
        {
          "path": "registry/example/use-idle-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-idle-demo.tsx"
        }
      ]
    },
    {
      "name": "use-is-touch-device-demo",
      "type": "registry:example",
      "title": "UseIsTouchDeviceDemo",
      "description": "use-is-touch-device's hook in action.",
      "registryDependencies": [
        "card",
        "badge",
        "https://guarahooks.com/r/use-is-touch-device.json"
      ],
      "files": [
        {
          "path": "registry/example/use-is-touch-device-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-is-touch-device-demo.tsx"
        }
      ]
    },
    {
      "name": "use-fullscreen-demo",
      "type": "registry:example",
      "title": "UseFullscreenDemo",
      "description": "use-fullscreen's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-fullscreen.json"
      ],
      "files": [
        {
          "path": "registry/example/use-fullscreen-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-fullscreen-demo.tsx"
        }
      ]
    },
    {
      "name": "use-confirm-demo",
      "type": "registry:example",
      "title": "UseConfirmDemo",
      "description": "use-confirm's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-confirm.json"
      ],
      "files": [
        {
          "path": "registry/example/use-confirm-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-confirm-demo.tsx"
        }
      ]
    },
    {
      "name": "use-notifications-demo",
      "type": "registry:example",
      "title": "UseNotificationsDemo",
      "description": "use-notifications's hook in action.",
      "registryDependencies": [
        "card",
        "alert",
        "button",
        "badge",
        "lucide-react",
        "https://guarahooks.com/r/use-notifications.json"
      ],
      "files": [
        {
          "path": "registry/example/use-notifications-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-notifications-demo.tsx"
        }
      ]
    },
    {
      "name": "use-page-leave-demo",
      "type": "registry:example",
      "title": "UsePageLeaveDemo",
      "description": "use-page-leave's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "badge",
        "https://guarahooks.com/r/use-page-leave.json"
      ],
      "files": [
        {
          "path": "registry/example/use-page-leave-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-page-leave-demo.tsx"
        }
      ]
    },
    {
      "name": "use-disclosure-demo",
      "type": "registry:example",
      "title": "UseDisclosureDemo",
      "description": "use-disclosure's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "dialog",
        "https://guarahooks.com/r/use-disclosure.json"
      ],
      "files": [
        {
          "path": "registry/example/use-disclosure-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-disclosure-demo.tsx"
        }
      ]
    },
    {
      "name": "use-mutation-observer-demo",
      "type": "registry:example",
      "title": "UseMutationObserverDemo",
      "description": "use-mutation-observer's hook in action.",
      "registryDependencies": [
        "button",
        "card",
        "https://guarahooks.com/r/use-mutation-observer.json"
      ],
      "files": [
        {
          "path": "registry/example/use-mutation-observer-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-mutation-observer-demo.tsx"
        }
      ]
    },
    {
      "name": "use-resize-observer-demo",
      "type": "registry:example",
      "title": "UseResizeObserverDemo",
      "description": "use-resize-observer's hook in action.",
      "registryDependencies": [
        "button",
        "card",
        "https://guarahooks.com/r/use-resize-observer.json"
      ],
      "files": [
        {
          "path": "registry/example/use-resize-observer-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-resize-observer-demo.tsx"
        }
      ]
    },
    {
      "name": "use-intersection-observer-demo",
      "type": "registry:example",
      "title": "UseIntersectionObserverDemo",
      "description": "use-intersection-observer's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-intersection-observer.json"
      ],
      "files": [
        {
          "path": "registry/example/use-intersection-observer-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-intersection-observer-demo.tsx"
        }
      ]
    },
    {
      "name": "use-fetch-demo",
      "type": "registry:example",
      "title": "UseFetchDemo",
      "description": "use-fetch's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-fetch.json"
      ],
      "files": [
        {
          "path": "registry/example/use-fetch-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-fetch-demo.tsx"
        }
      ]
    },
    {
      "name": "use-pagination-demo",
      "type": "registry:example",
      "title": "UsePaginationDemo",
      "description": "use-pagination's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-pagination.json"
      ],
      "files": [
        {
          "path": "registry/example/use-pagination-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-pagination-demo.tsx"
        }
      ]
    },
    {
      "name": "use-event-listener-demo",
      "type": "registry:example",
      "title": "UseEventListenerDemo",
      "description": "use-event-listener's hook in action.",
      "registryDependencies": [
        "card",
        "badge",
        "button",
        "https://guarahooks.com/r/use-event-listener.json"
      ],
      "files": [
        {
          "path": "registry/example/use-event-listener-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-event-listener-demo.tsx"
        }
      ]
    },
    {
      "name": "use-axios-demo",
      "type": "registry:example",
      "title": "UseAxiosDemo",
      "description": "use-axios's hook in action.",
      "registryDependencies": [
        "card",
        "input",
        "button",
        "label",
        "alert",
        "lucide-react",
        "https://guarahooks.com/r/use-axios.json"
      ],
      "files": [
        {
          "path": "registry/example/use-axios-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-axios-demo.tsx"
        }
      ]
    },
    {
      "name": "use-page-title-demo",
      "type": "registry:example",
      "title": "UsePageTitleDemo",
      "description": "use-page-title's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "input",
        "label",
        "https://guarahooks.com/r/use-page-title.json"
      ],
      "files": [
        {
          "path": "registry/example/use-page-title-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-page-title-demo.tsx"
        }
      ]
    },
    {
      "name": "use-interval-demo",
      "type": "registry:example",
      "title": "UseIntervalDemo",
      "description": "use-interval's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-interval.json"
      ],
      "files": [
        {
          "path": "registry/example/use-interval-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-interval-demo.tsx"
        }
      ]
    },
    {
      "name": "use-timeout-demo",
      "type": "registry:example",
      "title": "UseTimeoutDemo",
      "description": "use-timeout's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-timeout.json"
      ],
      "files": [
        {
          "path": "registry/example/use-timeout-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-timeout-demo.tsx"
        }
      ]
    },
    {
      "name": "use-battery-status-demo",
      "type": "registry:example",
      "title": "UseBatteryStatusDemo",
      "description": "use-battery-status's hook in action.",
      "registryDependencies": [
        "card",
        "badge",
        "https://guarahooks.com/r/use-battery-status.json"
      ],
      "files": [
        {
          "path": "registry/example/use-battery-status-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-battery-status-demo.tsx"
        }
      ]
    },
    {
      "name": "use-geolocation-demo",
      "type": "registry:example",
      "title": "UseGeolocationDemo",
      "description": "use-geolocation's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-geolocation.json"
      ],
      "files": [
        {
          "path": "registry/example/use-geolocation-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-geolocation-demo.tsx"
        }
      ]
    },
    {
      "name": "use-isomorphic-layout-effect-demo",
      "type": "registry:example",
      "title": "UseIsomorphicLayoutEffectDemo",
      "description": "use-isomorphic-layout-effect's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-isomorphic-layout-effect.json"
      ],
      "files": [
        {
          "path": "registry/example/use-isomorphic-layout-effect-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-isomorphic-layout-effect-demo.tsx"
        }
      ]
    },
    {
      "name": "use-scroll-position-demo",
      "type": "registry:example",
      "title": "UseScrollPositionDemo",
      "description": "use-scroll-position's hook in action.",
      "registryDependencies": [
        "card",
        "https://guarahooks.com/r/use-scroll-position.json"
      ],
      "files": [
        {
          "path": "registry/example/use-scroll-position-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-scroll-position-demo.tsx"
        }
      ]
    },
    {
      "name": "use-scroll-lock-demo",
      "type": "registry:example",
      "title": "UseScrollLockDemo",
      "description": "Demonstrates useScrollLock hook",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-scroll-lock.json"
      ],
      "files": [
        {
          "path": "registry/example/use-scroll-lock-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-scroll-lock-demo.tsx"
        }
      ]
    },
    {
      "name": "use-abort-controller-demo",
      "type": "registry:example",
      "title": "UseAbortControllerDemo",
      "description": "use-abort-controller's hook in action.",
      "registryDependencies": [
        "button",
        "card",
        "badge",
        "https://guarahooks.com/r/use-abort-controller.json"
      ],
      "files": [
        {
          "path": "registry/example/use-abort-controller-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-abort-controller-demo.tsx"
        }
      ]
    },
    {
      "name": "use-react-hook-form-demo",
      "type": "registry:example",
      "title": "UseReactHookFormDemo",
      "description": "use-react-hook-form's hook in action.",
      "registryDependencies": [
        "card",
        "label",
        "input",
        "button",
        "https://guarahooks.com/r/use-react-hook-form.json"
      ],
      "files": [
        {
          "path": "registry/example/use-react-hook-form-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-react-hook-form-demo.tsx"
        }
      ]
    },
    {
      "name": "use-formik-demo",
      "type": "registry:example",
      "title": "UseFormikDemo",
      "description": "use-formik's hook in action.",
      "registryDependencies": [
        "card",
        "label",
        "input",
        "button",
        "sonner",
        "https://guarahooks.com/r/use-formik.json"
      ],
      "files": [
        {
          "path": "registry/example/use-formik-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-formik-demo.tsx"
        }
      ]
    },
    {
      "name": "use-next-auth-demo",
      "type": "registry:example",
      "title": "UseNextAuthDemo",
      "description": "use-next-auth's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "badge",
        "sonner",
        "https://guarahooks.com/r/use-next-auth.json"
      ],
      "files": [
        {
          "path": "registry/example/use-next-auth-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-next-auth-demo.tsx"
        }
      ]
    },
    {
      "name": "use-better-auth-demo",
      "type": "registry:example",
      "title": "UseBetterAuthDemo",
      "description": "use-better-auth's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "badge",
        "input",
        "label",
        "tabs",
        "sonner",
        "https://guarahooks.com/r/use-better-auth.json"
      ],
      "files": [
        {
          "path": "registry/example/use-better-auth-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-better-auth-demo.tsx"
        }
      ]
    },
    {
      "name": "use-eye-dropper-demo",
      "type": "registry:example",
      "title": "UseEyeDropperDemo",
      "description": "use-eye-dropper's hook in action.",
      "registryDependencies": [
        "card",
        "button",
        "https://guarahooks.com/r/use-eye-dropper.json"
      ],
      "files": [
        {
          "path": "registry/example/use-eye-dropper-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-eye-dropper-demo.tsx"
        }
      ]
    },
    {
      "name": "use-ky-demo",
      "type": "registry:example",
      "title": "UseKyDemo",
      "description": "use-ky's hook in action.",
      "registryDependencies": [
        "card",
        "badge",
        "button",
        "input",
        "label",
        "tabs",
        "https://guarahooks.com/r/use-ky.json"
      ],
      "files": [
        {
          "path": "registry/example/use-ky-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-ky-demo.tsx"
        }
      ]
    },
    {
      "name": "use-array-state-demo",
      "type": "registry:example",
      "title": "UseArrayStateDemo",
      "description": "use-array-state's hook in action.",
      "registryDependencies": [
        "button",
        "card",
        "input",
        "badge",
        "https://guarahooks.com/r/use-array-state.json"
      ],
      "files": [
        {
          "path": "registry/example/use-array-state-demo.tsx",
          "type": "registry:example",
          "target": "components/example/use-array-state-demo.tsx"
        }
      ]
    }
  ]
}