Registries
ActiveHooks/utilities58

@shadcnhooks

Hooks/utilities · MIT · data updated 2026-07-28

A growing TypeScript-first React hooks collection distributed through the shadcn registry, built for React 19+ with SSR compatibility and zero or minimal external dependencies. Each hook is individually installable (e.g., npx shadcn@latest add @shadcnhooks/use-counter). Documented hooks include use-counter, use-boolean, and others following the shadcn copy-paste philosophy. Tree-shakeable; no lock-in. Use for: adding well-tested, typed utility hooks — state management, toggles, timers, event listeners — directly into a project as owned source files rather than a package dependency.

@shadcnhooks preview
buttonscardscomponentsformshooksmedia

Install

npx shadcn@latest add https://shadcn-hooks.com/r/registry.json

Health

StatusActive
Last commit2 weeks ago
LicenseMIT
Open issues8
ArchivedNo
Stars58

Components (58)

is-browsercreate-effect-with-targetcreate-contextuse-why-did-you-updateuse-update-effectuse-updateuse-unmountuse-toggleuse-titleuse-timeoutuse-throttle-fnuse-throttle-effectuse-throttleuse-text-selectionuse-swruse-stick-to-bottomuse-scroll-lockuse-reset-stateuse-queryuse-previoususe-osuse-networkuse-mouseuse-mountuse-memoized-fnuse-mcpuse-lock-fnuse-latestuse-isomorphic-layout-effectuse-is-onlineuse-is-match-mediause-is-hydrateduse-intervaluse-in-viewportuse-hoveruse-hashuse-fullscreenuse-fpsuse-event-listeneruse-element-sizeuse-effect-with-targetuse-effect-eventuse-document-visibilityuse-deep-compare-layout-effectuse-deep-compare-effectuse-debounce-fnuse-debounce-effectuse-debounceuse-custom-compare-effectuse-creationuse-counteruse-controllable-valueuse-clipboarduse-click-awayuse-click-any-whereuse-booleanuse-batteryuse-active-element
Components: is-browser, create-effect-with-target, create-context, use-why-did-you-update, use-update-effect, use-update, use-unmount, use-toggle, use-title, use-timeout, use-throttle-fn, use-throttle-effect, use-throttle, use-text-selection, use-swr, use-stick-to-bottom, use-scroll-lock, use-reset-state, use-query, use-previous, use-os, use-network, use-mouse, use-mount, use-memoized-fn, use-mcp, use-lock-fn, use-latest, use-isomorphic-layout-effect, use-is-online, use-is-match-media, use-is-hydrated, use-interval, use-in-viewport, use-hover, use-hash, use-fullscreen, use-fps, use-event-listener, use-element-size, use-effect-with-target, use-effect-event, use-document-visibility, use-deep-compare-layout-effect, use-deep-compare-effect, use-debounce-fn, use-debounce-effect, use-debounce, use-custom-compare-effect, use-creation, use-counter, use-controllable-value, use-clipboard, use-click-away, use-click-any-where, use-boolean, use-battery, use-active-element

Preview

Live sandbox previews render component source client-side. Where a component can’t be rendered standalone, sh4dcn falls back to its source and install command.

@shadcnhooks · is-browser

npx shadcn@latest add https://shadcn-hooks.com/r/is-browser.json
View source