{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "hookas",
  "homepage": "https://github.com/letstri/hookas",
  "items": [
    {
      "name": "use-async-effect",
      "type": "registry:hook",
      "title": "useAsyncEffect",
      "description": "A hook to run an async effect",
      "files": [
        {
          "path": "registry/hooks/use-async-effect.ts",
          "type": "registry:hook",
          "target": "hookas/use-async-effect.ts"
        }
      ]
    },
    {
      "name": "use-element-size",
      "type": "registry:hook",
      "title": "useElementSize",
      "description": "A hook to measure the size of an element",
      "files": [
        {
          "path": "registry/hooks/use-element-size.ts",
          "type": "registry:hook",
          "target": "hookas/use-element-size.ts"
        }
      ]
    },
    {
      "name": "use-click-outside",
      "type": "registry:hook",
      "title": "useClickOutside",
      "description": "A hook to handle click outside events",
      "files": [
        {
          "path": "registry/hooks/use-click-outside.ts",
          "type": "registry:hook",
          "target": "hookas/use-click-outside.ts"
        }
      ]
    },
    {
      "name": "use-toggle",
      "type": "registry:hook",
      "title": "useToggle",
      "description": "A hook to toggle a value",
      "files": [
        {
          "path": "registry/hooks/use-toggle.ts",
          "type": "registry:hook",
          "target": "hookas/use-toggle.ts"
        }
      ]
    },
    {
      "name": "use-window-size",
      "type": "registry:hook",
      "title": "useWindowSize",
      "description": "A hook to get the window size",
      "files": [
        {
          "path": "registry/hooks/use-window-size.ts",
          "type": "registry:hook",
          "target": "hookas/use-window-size.ts"
        }
      ]
    },
    {
      "name": "use-is-mounted",
      "type": "registry:hook",
      "title": "useIsMounted",
      "description": "A hook to check if the component is mounted",
      "files": [
        {
          "path": "registry/hooks/use-is-mounted.ts",
          "type": "registry:hook",
          "target": "hookas/use-is-mounted.ts"
        }
      ]
    },
    {
      "name": "use-query",
      "type": "registry:hook",
      "title": "useQuery",
      "description": "A hook to query data",
      "files": [
        {
          "path": "registry/hooks/use-query.ts",
          "type": "registry:hook",
          "target": "hookas/use-query.ts"
        }
      ]
    },
    {
      "name": "use-media-query",
      "type": "registry:hook",
      "title": "useMediaQuery",
      "description": "A hook to check if the user is online",
      "files": [
        {
          "path": "registry/hooks/use-media-query.ts",
          "type": "registry:hook",
          "target": "hookas/use-media-query.ts"
        }
      ]
    },
    {
      "name": "use-fullscreen",
      "type": "registry:hook",
      "title": "useFullscreen",
      "description": "A hook to handle fullscreen mode",
      "files": [
        {
          "path": "registry/hooks/use-fullscreen.ts",
          "type": "registry:hook",
          "target": "hookas/use-fullscreen.ts"
        }
      ]
    },
    {
      "name": "use-mouse-position",
      "type": "registry:hook",
      "title": "useMousePosition",
      "description": "A hook to track the mouse position",
      "files": [
        {
          "path": "registry/hooks/use-mouse-position.ts",
          "type": "registry:hook",
          "target": "hookas/use-mouse-position.ts"
        }
      ]
    },
    {
      "name": "use-debounced-callback",
      "type": "registry:hook",
      "title": "useDebounceCallback",
      "description": "A hook to debounce a callback",
      "files": [
        {
          "path": "registry/hooks/use-debounced-callback.ts",
          "type": "registry:hook",
          "target": "hookas/use-debounced-callback.ts"
        }
      ]
    },
    {
      "name": "use-debounced-memo",
      "type": "registry:hook",
      "title": "useDebounceMemo",
      "description": "A hook to debounce a memo",
      "registryDependencies": ["https://hookas.letstri.dev/r/use-debounced-callback.json"],
      "files": [
        {
          "path": "registry/hooks/use-debounced-memo.ts",
          "type": "registry:hook",
          "target": "hookas/use-debounced-memo.ts"
        }
      ]
    },
    {
      "name": "use-debounced-state",
      "type": "registry:hook",
      "title": "useDebounceState",
      "description": "A hook to debounce a state",
      "registryDependencies": ["https://hookas.letstri.dev/r/use-debounced-memo.json"],
      "files": [
        {
          "path": "registry/hooks/use-debounced-state.ts",
          "type": "registry:hook",
          "target": "hookas/use-debounced-state.ts"
        }
      ]
    },
    {
      "name": "use-throttled-callback",
      "type": "registry:hook",
      "title": "useThrottleCallback",
      "description": "A hook to throttle a callback",
      "files": [
        {
          "path": "registry/hooks/use-throttled-callback.ts",
          "type": "registry:hook",
          "target": "hookas/use-throttled-callback.ts"
        }
      ]
    },
    {
      "name": "use-throttled-memo",
      "type": "registry:hook",
      "title": "useThrottledMemo",
      "description": "A hook to throttle a memo",
      "registryDependencies": ["https://hookas.letstri.dev/r/use-throttled-callback.json"],
      "files": [
        {
          "path": "registry/hooks/use-throttled-memo.ts",
          "type": "registry:hook",
          "target": "hookas/use-throttled-memo.ts"
        }
      ]
    },
    {
      "name": "use-promise",
      "type": "registry:hook",
      "title": "usePromise",
      "description": "A hook to handle promises",
      "registryDependencies": ["https://hookas.letstri.dev/r/use-isomorphic-effect.json"],
      "files": [
        {
          "path": "registry/hooks/use-promise.ts",
          "type": "registry:hook",
          "target": "hookas/use-promise.ts"
        }
      ]
    },
    {
      "name": "use-media-controls",
      "type": "registry:hook",
      "title": "useMediaControls",
      "description": "A hook to control media elements",
      "files": [
        {
          "path": "registry/hooks/use-media-controls.ts",
          "type": "registry:hook",
          "target": "hookas/use-media-controls.ts"
        }
      ]
    },
    {
      "name": "use-is-scrolled",
      "type": "registry:hook",
      "title": "useIsScrolled",
      "description": "A hook to check if an element is scrolled",
      "files": [
        {
          "path": "registry/hooks/use-is-scrolled.ts",
          "type": "registry:hook",
          "target": "hookas/use-is-scrolled.ts"
        }
      ]
    },
    {
      "name": "use-interval",
      "type": "registry:hook",
      "title": "useInterval",
      "description": "A hook to execute a function repeatedly with a delay",
      "files": [
        {
          "path": "registry/hooks/use-interval.ts",
          "type": "registry:hook",
          "target": "hookas/use-interval.ts"
        }
      ]
    },
    {
      "name": "use-mounted-effect",
      "type": "registry:hook",
      "title": "useMountedEffect",
      "description": "A hook to run an effect only after the component is mounted",
      "files": [
        {
          "path": "registry/hooks/use-mounted-effect.ts",
          "type": "registry:hook",
          "target": "hookas/use-mounted-effect.ts"
        }
      ]
    },
    {
      "name": "use-isomorphic-effect",
      "type": "registry:hook",
      "title": "useIsomorphicEffect",
      "description": "A hook to run an effect on the client and server",
      "files": [
        {
          "path": "registry/hooks/use-isomorphic-effect.ts",
          "type": "registry:hook",
          "target": "hookas/use-isomorphic-effect.ts"
        }
      ]
    },
    {
      "name": "use-local-storage",
      "type": "registry:hook",
      "title": "useLocalStorage",
      "description": "A hook to store data in the browser's local storage",
      "files": [
        {
          "path": "registry/hooks/use-local-storage.ts",
          "type": "registry:hook",
          "target": "hookas/use-local-storage.ts"
        }
      ]
    },
    {
      "name": "use-session-storage",
      "type": "registry:hook",
      "title": "useSessionStorage",
      "description": "A hook to store data in the browser's session storage",
      "files": [
        {
          "path": "registry/hooks/use-session-storage.ts",
          "type": "registry:hook",
          "target": "hookas/use-session-storage.ts"
        }
      ]
    },
    {
      "name": "use-scroll-direction",
      "type": "registry:hook",
      "title": "useScrollDirection",
      "description": "A hook to track the scroll direction",
      "files": [
        {
          "path": "registry/hooks/use-scroll-direction.ts",
          "type": "registry:hook",
          "target": "hookas/use-scroll-direction.ts"
        }
      ]
    },
    {
      "name": "use-is-in-viewport",
      "type": "registry:hook",
      "title": "useIsInViewport",
      "description": "A hook to check if an element is in the viewport",
      "files": [
        {
          "path": "registry/hooks/use-is-in-viewport.ts",
          "type": "registry:hook",
          "target": "hookas/use-is-in-viewport.ts"
        }
      ]
    },
    {
      "name": "use-is-window-scrolled",
      "type": "registry:hook",
      "title": "useIsWindowScrolled",
      "description": "A hook to check if the window is scrolled",
      "files": [
        {
          "path": "registry/hooks/use-is-window-scrolled.ts",
          "type": "registry:hook",
          "target": "hookas/use-is-window-scrolled.ts"
        }
      ]
    },
    {
      "name": "use-timeout-effect",
      "type": "registry:hook",
      "title": "useTimeoutEffect",
      "description": "A hook to run an effect after a timeout",
      "files": [
        {
          "path": "registry/hooks/use-timeout-effect.ts",
          "type": "registry:hook",
          "target": "hookas/use-timeout-effect.ts"
        }
      ]
    },
    {
      "name": "use-scroll-info",
      "type": "registry:hook",
      "title": "useScrollInfo",
      "description": "A hook to get the scroll info of an element",
      "files": [
        {
          "path": "registry/hooks/use-scroll-info.ts",
          "type": "registry:hook",
          "target": "hookas/use-scroll-info.ts"
        }
      ]
    },
    {
      "name": "use-network",
      "type": "registry:hook",
      "title": "useNetwork",
      "description": "A hook to get the network information",
      "files": [
        {
          "path": "registry/hooks/use-network.ts",
          "type": "registry:hook",
          "target": "hookas/use-network.ts"
        }
      ]
    },
    {
      "name": "use-keyboard-event",
      "type": "registry:hook",
      "title": "useKeyboardEvent",
      "description": "A hook to handle keyboard events",
      "files": [
        {
          "path": "registry/hooks/use-keyboard-event.ts",
          "type": "registry:hook",
          "target": "hookas/use-keyboard-event.ts"
        }
      ]
    }
  ]
}
