[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DCEPBTY9R7XBSMHEX3TZPE":3,"skill-same:01M6DCEPBTY9R7XBSMHEX3TZPE":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6DCEPBTY9R7XBSMHEX3TZPE","vueuse-functions",null,"Apply VueUse composables where appropriate to build concise, maintainable Vue.js \u002F Nuxt features.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F13\u002F1346da238bbabcc3985d0275da2763b1b406c92eca7b4964b5bd6ef322fe85b3\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32],"vueuse functions","functions","github","https","vue","js","nuxt","build","project","2026-11-10 10:12:30",false,"---\r\nname: vueuse-functions\r\ndescription: Apply VueUse composables where appropriate to build concise, maintainable Vue.js \u002F Nuxt features.\r\nlicense: MIT\r\nmetadata:\r\n    author: SerKo \u003Chttps:\u002F\u002Fgithub.com\u002Fserkodev>\r\n    version: \"1.0\"\r\ncompatibility: Requires Vue 3 (or above) or Nuxt 3 (or above) project\r\n---\r\n\r\n# VueUse Functions\r\n\r\nThis skill is a decision-and-implementation guide for VueUse composables in Vue.js \u002F Nuxt projects. It maps requirements to the most suitable VueUse function, applies the correct usage pattern, and prefers composable-based solutions over bespoke code to keep implementations concise, maintainable, and performant.\r\n\r\n## When to Apply\r\n\r\n- Apply this skill whenever assisting user development work in Vue.js \u002F Nuxt.\r\n- Always check first whether a VueUse function can implement the requirement.\r\n- Prefer VueUse composables over custom code to improve readability, maintainability, and performance.\r\n- Map requirements to the most appropriate VueUse function and follow the function’s invocation rule.\r\n- Please refer to the `Invocation` field in the below functions table. For example:\r\n  - `AUTO`: Use automatically when applicable.\r\n  - `EXTERNAL`: Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.\r\n  - `EXPLICIT_ONLY`: Use only when explicitly requested by the user.\r\n  > *NOTE* User instructions in the prompt or `AGENTS.md` may override a function’s default `Invocation` rule.\r\n\r\n## Functions\r\n\r\nAll functions listed below are part of the [VueUse](https:\u002F\u002Fvueuse.org\u002F) library, each section categorizes functions based on their functionality.\r\n\r\nIMPORTANT: Each function entry includes a short `Description` and a detailed `Reference`. When using any function, always consult the corresponding document in `.\u002Freferences` for Usage details and Type Declarations.\r\n\r\n### State\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createGlobalState`](references\u002FcreateGlobalState.md) | Keep states in the global scope to be reusable across Vue instances | AUTO |\r\n| [`createInjectionState`](references\u002FcreateInjectionState.md) | Create global state that can be injected into components | AUTO |\r\n| [`createSharedComposable`](references\u002FcreateSharedComposable.md) | Make a composable function usable with multiple Vue instances | AUTO |\r\n| [`injectLocal`](references\u002FinjectLocal.md) | Extended `inject` with ability to call `provideLocal` to provide the value in the same component | AUTO |\r\n| [`provideLocal`](references\u002FprovideLocal.md) | Extended `provide` with ability to call `injectLocal` to obtain the value in the same component | AUTO |\r\n| [`useAsyncState`](references\u002FuseAsyncState.md) | Reactive async state | AUTO |\r\n| [`useDebouncedRefHistory`](references\u002FuseDebouncedRefHistory.md) | Shorthand for `useRefHistory` with debounced filter | AUTO |\r\n| [`useLastChanged`](references\u002FuseLastChanged.md) | Records the timestamp of the last change | AUTO |\r\n| [`useLocalStorage`](references\u002FuseLocalStorage.md) | Reactive [LocalStorage](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FlocalStorage) | AUTO |\r\n| [`useManualRefHistory`](references\u002FuseManualRefHistory.md) | Manually track the change history of a ref when the using calls `commit()` | AUTO |\r\n| [`useRefHistory`](references\u002FuseRefHistory.md) | Track the change history of a ref | AUTO |\r\n| [`useSessionStorage`](references\u002FuseSessionStorage.md) | Reactive [SessionStorage](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FsessionStorage) | AUTO |\r\n| [`useStorage`](references\u002FuseStorage.md) | Create a reactive ref that can be used to access & modify [LocalStorage](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FlocalStorage) or [SessionStorage](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FsessionStorage) | AUTO |\r\n| [`useStorageAsync`](references\u002FuseStorageAsync.md) | Reactive Storage in with async support | AUTO |\r\n| [`useThrottledRefHistory`](references\u002FuseThrottledRefHistory.md) | Shorthand for `useRefHistory` with throttled filter | AUTO |\r\n\r\n### Elements\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useActiveElement`](references\u002FuseActiveElement.md) | Reactive `document.activeElement` | AUTO |\r\n| [`useDocumentVisibility`](references\u002FuseDocumentVisibility.md) | Reactively track [`document.visibilityState`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FDocument\u002FvisibilityState) | AUTO |\r\n| [`useDraggable`](references\u002FuseDraggable.md) | Make elements draggable | AUTO |\r\n| [`useDropZone`](references\u002FuseDropZone.md) | Create a zone where files can be dropped | AUTO |\r\n| [`useElementBounding`](references\u002FuseElementBounding.md) | Reactive [bounding box](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FElement\u002FgetBoundingClientRect) of an HTML element | AUTO |\r\n| [`useElementSize`](references\u002FuseElementSize.md) | Reactive size of an HTML element | AUTO |\r\n| [`useElementVisibility`](references\u002FuseElementVisibility.md) | Tracks the visibility of an element within the viewport | AUTO |\r\n| [`useIntersectionObserver`](references\u002FuseIntersectionObserver.md) | Detects that a target element's visibility | AUTO |\r\n| [`useMouseInElement`](references\u002FuseMouseInElement.md) | Reactive mouse position related to an element | AUTO |\r\n| [`useMutationObserver`](references\u002FuseMutationObserver.md) | Watch for changes being made to the DOM tree | AUTO |\r\n| [`useParentElement`](references\u002FuseParentElement.md) | Get parent element of the given element | AUTO |\r\n| [`useResizeObserver`](references\u002FuseResizeObserver.md) | Reports changes to the dimensions of an Element's content or the border-box | AUTO |\r\n| [`useWindowFocus`](references\u002FuseWindowFocus.md) | Reactively track window focus with `window.onfocus` and `window.onblur` events | AUTO |\r\n| [`useWindowScroll`](references\u002FuseWindowScroll.md) | Reactive window scroll | AUTO |\r\n| [`useWindowSize`](references\u002FuseWindowSize.md) | Reactive window size | AUTO |\r\n\r\n### Browser\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useBluetooth`](references\u002FuseBluetooth.md) | Reactive [Web Bluetooth API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWeb_Bluetooth_API) | AUTO |\r\n| [`useBreakpoints`](references\u002FuseBreakpoints.md) | Reactive viewport breakpoints | AUTO |\r\n| [`useBroadcastChannel`](references\u002FuseBroadcastChannel.md) | Reactive [BroadcastChannel API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FBroadcastChannel) | AUTO |\r\n| [`useBrowserLocation`](references\u002FuseBrowserLocation.md) | Reactive browser location | AUTO |\r\n| [`useClipboard`](references\u002FuseClipboard.md) | Reactive [Clipboard API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FClipboard_API) | AUTO |\r\n| [`useClipboardItems`](references\u002FuseClipboardItems.md) | Reactive [Clipboard API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FClipboard_API) | AUTO |\r\n| [`useColorMode`](references\u002FuseColorMode.md) | Reactive color mode (dark \u002F light \u002F customs) with auto data persistence | AUTO |\r\n| [`useCssSupports`](references\u002FuseCssSupports.md) | SSR compatible and reactive [`CSS.supports`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fdocs\u002FWeb\u002FAPI\u002FCSS\u002Fsupports_static) | AUTO |\r\n| [`useCssVar`](references\u002FuseCssVar.md) | Manipulate CSS variables | AUTO |\r\n| [`useDark`](references\u002FuseDark.md) | Reactive dark mode with auto data persistence | AUTO |\r\n| [`useEventListener`](references\u002FuseEventListener.md) | Use EventListener with ease | AUTO |\r\n| [`useEyeDropper`](references\u002FuseEyeDropper.md) | Reactive [EyeDropper API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FEyeDropper_API) | AUTO |\r\n| [`useFavicon`](references\u002FuseFavicon.md) | Reactive favicon | AUTO |\r\n| [`useFileDialog`](references\u002FuseFileDialog.md) | Open file dialog with ease | AUTO |\r\n| [`useFileSystemAccess`](references\u002FuseFileSystemAccess.md) | Create and read and write local files with [FileSystemAccessAPI](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FFile_System_Access_API) | AUTO |\r\n| [`useFullscreen`](references\u002FuseFullscreen.md) | Reactive [Fullscreen API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FFullscreen_API) | AUTO |\r\n| [`useGamepad`](references\u002FuseGamepad.md) | Provides reactive bindings for the [Gamepad API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FGamepad_API) | AUTO |\r\n| [`useImage`](references\u002FuseImage.md) | Reactive load an image in the browser | AUTO |\r\n| [`useMediaControls`](references\u002FuseMediaControls.md) | Reactive media controls for both `audio` and `video` elements | AUTO |\r\n| [`useMediaQuery`](references\u002FuseMediaQuery.md) | Reactive [Media Query](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002FMedia_Queries\u002FTesting_media_queries) | AUTO |\r\n| [`useMemory`](references\u002FuseMemory.md) | Reactive Memory Info | AUTO |\r\n| [`useObjectUrl`](references\u002FuseObjectUrl.md) | Reactive URL representing an object | AUTO |\r\n| [`usePerformanceObserver`](references\u002FusePerformanceObserver.md) | Observe performance metrics | AUTO |\r\n| [`usePermission`](references\u002FusePermission.md) | Reactive [Permissions API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FPermissions_API) | AUTO |\r\n| [`usePreferredColorScheme`](references\u002FusePreferredColorScheme.md) | Reactive [prefers-color-scheme](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-color-scheme) media query | AUTO |\r\n| [`usePreferredContrast`](references\u002FusePreferredContrast.md) | Reactive [prefers-contrast](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-contrast) media query | AUTO |\r\n| [`usePreferredDark`](references\u002FusePreferredDark.md) | Reactive dark theme preference | AUTO |\r\n| [`usePreferredLanguages`](references\u002FusePreferredLanguages.md) | Reactive [Navigator Languages](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FNavigatorLanguage\u002Flanguages) | AUTO |\r\n| [`usePreferredReducedMotion`](references\u002FusePreferredReducedMotion.md) | Reactive [prefers-reduced-motion](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-reduced-motion) media query | AUTO |\r\n| [`usePreferredReducedTransparency`](references\u002FusePreferredReducedTransparency.md) | Reactive [prefers-reduced-transparency](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-reduced-transparency) media query | AUTO |\r\n| [`useScreenOrientation`](references\u002FuseScreenOrientation.md) | Reactive [Screen Orientation API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FScreen_Orientation_API) | AUTO |\r\n| [`useScreenSafeArea`](references\u002FuseScreenSafeArea.md) | Reactive `env(safe-area-inset-*)` | AUTO |\r\n| [`useScriptTag`](references\u002FuseScriptTag.md) | Creates a script tag | AUTO |\r\n| [`useShare`](references\u002FuseShare.md) | Reactive [Web Share API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FNavigator\u002Fshare) | AUTO |\r\n| [`useSSRWidth`](references\u002FuseSSRWidth.md) | Used to set a global viewport width which will be used when rendering SSR components that rely on the viewport width like [`useMediaQuery`](..\u002FuseMediaQuery\u002Findex.md) or [`useBreakpoints`](..\u002FuseBreakpoints\u002Findex.md) | AUTO |\r\n| [`useStyleTag`](references\u002FuseStyleTag.md) | Inject reactive `style` element in head | AUTO |\r\n| [`useTextareaAutosize`](references\u002FuseTextareaAutosize.md) | Automatically update the height of a textarea depending on the content | AUTO |\r\n| [`useTextDirection`](references\u002FuseTextDirection.md) | Reactive [dir](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML\u002FGlobal_attributes\u002Fdir) of the element's text | AUTO |\r\n| [`useTitle`](references\u002FuseTitle.md) | Reactive document title | AUTO |\r\n| [`useUrlSearchParams`](references\u002FuseUrlSearchParams.md) | Reactive [URLSearchParams](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FURLSearchParams) | AUTO |\r\n| [`useVibrate`](references\u002FuseVibrate.md) | Reactive [Vibration API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FVibration_API) | AUTO |\r\n| [`useWakeLock`](references\u002FuseWakeLock.md) | Reactive [Screen Wake Lock API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FScreen_Wake_Lock_API) | AUTO |\r\n| [`useWebNotification`](references\u002FuseWebNotification.md) | Reactive [Notification](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002Fnotification) | AUTO |\r\n| [`useWebWorker`](references\u002FuseWebWorker.md) | Simple [Web Workers](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWeb_Workers_API\u002FUsing_web_workers) registration and communication | AUTO |\r\n| [`useWebWorkerFn`](references\u002FuseWebWorkerFn.md) | Run expensive functions without blocking the UI | AUTO |\r\n\r\n### Sensors\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`onClickOutside`](references\u002FonClickOutside.md) | Listen for clicks outside of an element | AUTO |\r\n| [`onElementRemoval`](references\u002FonElementRemoval.md) | Fires when the element or any element containing it is removed from the DOM | AUTO |\r\n| [`onKeyStroke`](references\u002FonKeyStroke.md) | Listen for keyboard keystrokes | AUTO |\r\n| [`onLongPress`](references\u002FonLongPress.md) | Listen for a long press on an element | AUTO |\r\n| [`onStartTyping`](references\u002FonStartTyping.md) | Fires when users start typing on non-editable elements | AUTO |\r\n| [`useBattery`](references\u002FuseBattery.md) | Reactive [Battery Status API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FBattery_Status_API) | AUTO |\r\n| [`useDeviceMotion`](references\u002FuseDeviceMotion.md) | Reactive [DeviceMotionEvent](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FDeviceMotionEvent) | AUTO |\r\n| [`useDeviceOrientation`](references\u002FuseDeviceOrientation.md) | Reactive [DeviceOrientationEvent](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FDeviceOrientationEvent) | AUTO |\r\n| [`useDevicePixelRatio`](references\u002FuseDevicePixelRatio.md) | Reactively track [`window.devicePixelRatio`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FdevicePixelRatio) | AUTO |\r\n| [`useDevicesList`](references\u002FuseDevicesList.md) | Reactive [enumerateDevices](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FMediaDevices\u002FenumerateDevices) listing available input\u002Foutput devices | AUTO |\r\n| [`useDisplayMedia`](references\u002FuseDisplayMedia.md) | Reactive [`mediaDevices.getDisplayMedia`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FMediaDevices\u002FgetDisplayMedia) streaming | AUTO |\r\n| [`useElementByPoint`](references\u002FuseElementByPoint.md) | Reactive element by point | AUTO |\r\n| [`useElementHover`](references\u002FuseElementHover.md) | Reactive element's hover state | AUTO |\r\n| [`useFocus`](references\u002FuseFocus.md) | Reactive utility to track or set the focus state of a DOM element | AUTO |\r\n| [`useFocusWithin`](references\u002FuseFocusWithin.md) | Reactive utility to track if an element or one of its decendants has focus | AUTO |\r\n| [`useFps`](references\u002FuseFps.md) | Reactive FPS (frames per second) | AUTO |\r\n| [`useGeolocation`](references\u002FuseGeolocation.md) | Reactive [Geolocation API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FGeolocation_API) | AUTO |\r\n| [`useIdle`](references\u002FuseIdle.md) | Tracks whether the user is being inactive | AUTO |\r\n| [`useInfiniteScroll`](references\u002FuseInfiniteScroll.md) | Infinite scrolling of the element | AUTO |\r\n| [`useKeyModifier`](references\u002FuseKeyModifier.md) | Reactive [Modifier State](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FKeyboardEvent\u002FgetModifierState) | AUTO |\r\n| [`useMagicKeys`](references\u002FuseMagicKeys.md) | Reactive keys pressed state | AUTO |\r\n| [`useMouse`](references\u002FuseMouse.md) | Reactive mouse position | AUTO |\r\n| [`useMousePressed`](references\u002FuseMousePressed.md) | Reactive mouse pressing state | AUTO |\r\n| [`useNavigatorLanguage`](references\u002FuseNavigatorLanguage.md) | Reactive [navigator.language](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FNavigator\u002Flanguage) | AUTO |\r\n| [`useNetwork`](references\u002FuseNetwork.md) | Reactive [Network status](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FNetwork_Information_API) | AUTO |\r\n| [`useOnline`](references\u002FuseOnline.md) | Reactive online state | AUTO |\r\n| [`usePageLeave`](references\u002FusePageLeave.md) | Reactive state to show whether the mouse leaves the page | AUTO |\r\n| [`useParallax`](references\u002FuseParallax.md) | Create parallax effect easily | AUTO |\r\n| [`usePointer`](references\u002FusePointer.md) | Reactive [pointer state](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FPointer_events) | AUTO |\r\n| [`usePointerLock`](references\u002FusePointerLock.md) | Reactive [pointer lock](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FPointer_Lock_API) | AUTO |\r\n| [`usePointerSwipe`](references\u002FusePointerSwipe.md) | Reactive swipe detection based on [PointerEvents](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FPointerEvent) | AUTO |\r\n| [`useScroll`](references\u002FuseScroll.md) | Reactive scroll position and state | AUTO |\r\n| [`useScrollLock`](references\u002FuseScrollLock.md) | Lock scrolling of the element | AUTO |\r\n| [`useSpeechRecognition`](references\u002FuseSpeechRecognition.md) | Reactive [SpeechRecognition](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FSpeechRecognition) | AUTO |\r\n| [`useSpeechSynthesis`](references\u002FuseSpeechSynthesis.md) | Reactive [SpeechSynthesis](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FSpeechSynthesis) | AUTO |\r\n| [`useSwipe`](references\u002FuseSwipe.md) | Reactive swipe detection based on [`TouchEvents`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FTouchEvent) | AUTO |\r\n| [`useTextSelection`](references\u002FuseTextSelection.md) | Reactively track user text selection based on [`Window.getSelection`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FgetSelection) | AUTO |\r\n| [`useUserMedia`](references\u002FuseUserMedia.md) | Reactive [`mediaDevices.getUserMedia`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FMediaDevices\u002FgetUserMedia) streaming | AUTO |\r\n\r\n### Network\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useEventSource`](references\u002FuseEventSource.md) | An [EventSource](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FEventSource) or [Server-Sent-Events](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FServer-sent_events) instance opens a persistent connection to an HTTP server | AUTO |\r\n| [`useFetch`](references\u002FuseFetch.md) | Reactive [Fetch API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FFetch_API) provides the ability to abort requests | AUTO |\r\n| [`useWebSocket`](references\u002FuseWebSocket.md) | Reactive [WebSocket](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWebSocket\u002FWebSocket) client | AUTO |\r\n\r\n### Animation\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useAnimate`](references\u002FuseAnimate.md) | Reactive [Web Animations API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWeb_Animations_API) | AUTO |\r\n| [`useInterval`](references\u002FuseInterval.md) | Reactive counter that increases on every interval | AUTO |\r\n| [`useIntervalFn`](references\u002FuseIntervalFn.md) | Wrapper for `setInterval` with controls | AUTO |\r\n| [`useNow`](references\u002FuseNow.md) | Reactive current Date instance | AUTO |\r\n| [`useRafFn`](references\u002FuseRafFn.md) | Call function on every `requestAnimationFrame` | AUTO |\r\n| [`useTimeout`](references\u002FuseTimeout.md) | Reactive value that becomes `true` after a given time | AUTO |\r\n| [`useTimeoutFn`](references\u002FuseTimeoutFn.md) | Wrapper for `setTimeout` with controls | AUTO |\r\n| [`useTimestamp`](references\u002FuseTimestamp.md) | Reactive current timestamp | AUTO |\r\n| [`useTransition`](references\u002FuseTransition.md) | Transition between values | AUTO |\r\n\r\n### Component\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`computedInject`](references\u002FcomputedInject.md) | Combine `computed` and `inject` | AUTO |\r\n| [`createReusableTemplate`](references\u002FcreateReusableTemplate.md) | Define and reuse template inside the component scope | AUTO |\r\n| [`createTemplatePromise`](references\u002FcreateTemplatePromise.md) | Template as Promise | AUTO |\r\n| [`templateRef`](references\u002FtemplateRef.md) | Shorthand for binding ref to template element | AUTO |\r\n| [`tryOnBeforeMount`](references\u002FtryOnBeforeMount.md) | Safe `onBeforeMount` | AUTO |\r\n| [`tryOnBeforeUnmount`](references\u002FtryOnBeforeUnmount.md) | Safe `onBeforeUnmount` | AUTO |\r\n| [`tryOnMounted`](references\u002FtryOnMounted.md) | Safe `onMounted` | AUTO |\r\n| [`tryOnScopeDispose`](references\u002FtryOnScopeDispose.md) | Safe `onScopeDispose` | AUTO |\r\n| [`tryOnUnmounted`](references\u002FtryOnUnmounted.md) | Safe `onUnmounted` | AUTO |\r\n| [`unrefElement`](references\u002FunrefElement.md) | Retrieves the underlying DOM element from a Vue ref or component instance | AUTO |\r\n| [`useCurrentElement`](references\u002FuseCurrentElement.md) | Get the DOM element of current component as a ref | AUTO |\r\n| [`useMounted`](references\u002FuseMounted.md) | Mounted state in ref | AUTO |\r\n| [`useTemplateRefsList`](references\u002FuseTemplateRefsList.md) | Shorthand for binding refs to template elements and components inside `v-for` | AUTO |\r\n| [`useVirtualList`](references\u002FuseVirtualList.md) | Create virtual lists with ease | AUTO |\r\n| [`useVModel`](references\u002FuseVModel.md) | Shorthand for v-model binding | AUTO |\r\n| [`useVModels`](references\u002FuseVModels.md) | Shorthand for props v-model binding | AUTO |\r\n\r\n### Watch\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`until`](references\u002Funtil.md) | Promised one-time watch for changes | AUTO |\r\n| [`watchArray`](references\u002FwatchArray.md) | Watch for an array with additions and removals | AUTO |\r\n| [`watchAtMost`](references\u002FwatchAtMost.md) | `watch` with the number of times triggered | AUTO |\r\n| [`watchDebounced`](references\u002FwatchDebounced.md) | Debounced watch | AUTO |\r\n| [`watchDeep`](references\u002FwatchDeep.md) | Shorthand for watching value with `{deep: true}` | AUTO |\r\n| [`watchIgnorable`](references\u002FwatchIgnorable.md) | Ignorable watch | AUTO |\r\n| [`watchImmediate`](references\u002FwatchImmediate.md) | Shorthand for watching value with `{immediate: true}` | AUTO |\r\n| [`watchOnce`](references\u002FwatchOnce.md) | Shorthand for watching value with `{ once: true }` | AUTO |\r\n| [`watchPausable`](references\u002FwatchPausable.md) | Pausable watch | AUTO |\r\n| [`watchThrottled`](references\u002FwatchThrottled.md) | Throttled watch | AUTO |\r\n| [`watchTriggerable`](references\u002FwatchTriggerable.md) | Watch that can be triggered manually | AUTO |\r\n| [`watchWithFilter`](references\u002FwatchWithFilter.md) | `watch` with additional EventFilter control | AUTO |\r\n| [`whenever`](references\u002Fwhenever.md) | Shorthand for watching value to be truthy | AUTO |\r\n\r\n### Reactivity\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`computedAsync`](references\u002FcomputedAsync.md) | Computed for async functions | AUTO |\r\n| [`computedEager`](references\u002FcomputedEager.md) | Eager computed without lazy evaluation | AUTO |\r\n| [`computedWithControl`](references\u002FcomputedWithControl.md) | Explicitly define the dependencies of computed | AUTO |\r\n| [`createRef`](references\u002FcreateRef.md) | Returns a `deepRef` or `shallowRef` depending on the `deep` param | AUTO |\r\n| [`extendRef`](references\u002FextendRef.md) | Add extra attributes to Ref | AUTO |\r\n| [`reactify`](references\u002Freactify.md) | Converts plain functions into reactive functions | AUTO |\r\n| [`reactifyObject`](references\u002FreactifyObject.md) | Apply `reactify` to an object | AUTO |\r\n| [`reactiveComputed`](references\u002FreactiveComputed.md) | Computed reactive object | AUTO |\r\n| [`reactiveOmit`](references\u002FreactiveOmit.md) | Reactively omit fields from a reactive object | AUTO |\r\n| [`reactivePick`](references\u002FreactivePick.md) | Reactively pick fields from a reactive object | AUTO |\r\n| [`refAutoReset`](references\u002FrefAutoReset.md) | A ref which will be reset to the default value after some time | AUTO |\r\n| [`refDebounced`](references\u002FrefDebounced.md) | Debounce execution of a ref value | AUTO |\r\n| [`refDefault`](references\u002FrefDefault.md) | Apply default value to a ref | AUTO |\r\n| [`refManualReset`](references\u002FrefManualReset.md) | Create a ref with manual reset functionality | AUTO |\r\n| [`refThrottled`](references\u002FrefThrottled.md) | Throttle changing of a ref value | AUTO |\r\n| [`refWithControl`](references\u002FrefWithControl.md) | Fine-grained controls over ref and its reactivity | AUTO |\r\n| [`syncRef`](references\u002FsyncRef.md) | Two-way refs synchronization | AUTO |\r\n| [`syncRefs`](references\u002FsyncRefs.md) | Keep target refs in sync with a source ref | AUTO |\r\n| [`toReactive`](references\u002FtoReactive.md) | Converts ref to reactive | AUTO |\r\n| [`toRef`](references\u002FtoRef.md) | Normalize value\u002Fref\u002Fgetter to `ref` or `computed` | EXPLICIT_ONLY |\r\n| [`toRefs`](references\u002FtoRefs.md) | Extended [`toRefs`](https:\u002F\u002Fvuejs.org\u002Fapi\u002Freactivity-utilities.html#torefs) that also accepts refs of an object | AUTO |\r\n\r\n### Array\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useArrayDifference`](references\u002FuseArrayDifference.md) | Reactive get array difference of two arrays | AUTO |\r\n| [`useArrayEvery`](references\u002FuseArrayEvery.md) | Reactive `Array.every` | AUTO |\r\n| [`useArrayFilter`](references\u002FuseArrayFilter.md) | Reactive `Array.filter` | AUTO |\r\n| [`useArrayFind`](references\u002FuseArrayFind.md) | Reactive `Array.find` | AUTO |\r\n| [`useArrayFindIndex`](references\u002FuseArrayFindIndex.md) | Reactive `Array.findIndex` | AUTO |\r\n| [`useArrayFindLast`](references\u002FuseArrayFindLast.md) | Reactive `Array.findLast` | AUTO |\r\n| [`useArrayIncludes`](references\u002FuseArrayIncludes.md) | Reactive `Array.includes` | AUTO |\r\n| [`useArrayJoin`](references\u002FuseArrayJoin.md) | Reactive `Array.join` | AUTO |\r\n| [`useArrayMap`](references\u002FuseArrayMap.md) | Reactive `Array.map` | AUTO |\r\n| [`useArrayReduce`](references\u002FuseArrayReduce.md) | Reactive `Array.reduce` | AUTO |\r\n| [`useArraySome`](references\u002FuseArraySome.md) | Reactive `Array.some` | AUTO |\r\n| [`useArrayUnique`](references\u002FuseArrayUnique.md) | Reactive unique array | AUTO |\r\n| [`useSorted`](references\u002FuseSorted.md) | Reactive sort array | AUTO |\r\n\r\n### Time\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useCountdown`](references\u002FuseCountdown.md) | Reactive countdown timer in seconds | AUTO |\r\n| [`useDateFormat`](references\u002FuseDateFormat.md) | Get the formatted date according to the string of tokens passed in | AUTO |\r\n| [`useTimeAgo`](references\u002FuseTimeAgo.md) | Reactive time ago | AUTO |\r\n| [`useTimeAgoIntl`](references\u002FuseTimeAgoIntl.md) | Reactive time ago with i18n supported | AUTO |\r\n\r\n### Utilities\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createEventHook`](references\u002FcreateEventHook.md) | Utility for creating event hooks | AUTO |\r\n| [`createUnrefFn`](references\u002FcreateUnrefFn.md) | Make a plain function accepting ref and raw values as arguments | AUTO |\r\n| [`get`](references\u002Fget.md) | Shorthand for accessing `ref.value` | EXPLICIT_ONLY |\r\n| [`isDefined`](references\u002FisDefined.md) | Non-nullish checking type guard for Ref | AUTO |\r\n| [`makeDestructurable`](references\u002FmakeDestructurable.md) | Make isomorphic destructurable for object and array at the same time | AUTO |\r\n| [`set`](references\u002Fset.md) | Shorthand for `ref.value = x` | EXPLICIT_ONLY |\r\n| [`useAsyncQueue`](references\u002FuseAsyncQueue.md) | Executes each asynchronous task sequentially and passes the current task result to the next task | AUTO |\r\n| [`useBase64`](references\u002FuseBase64.md) | Reactive base64 transforming | AUTO |\r\n| [`useCached`](references\u002FuseCached.md) | Cache a ref with a custom comparator | AUTO |\r\n| [`useCloned`](references\u002FuseCloned.md) | Reactive clone of a ref | AUTO |\r\n| [`useConfirmDialog`](references\u002FuseConfirmDialog.md) | Creates event hooks to support modals and confirmation dialog chains | AUTO |\r\n| [`useCounter`](references\u002FuseCounter.md) | Basic counter with utility functions | AUTO |\r\n| [`useCycleList`](references\u002FuseCycleList.md) | Cycle through a list of items | AUTO |\r\n| [`useDebounceFn`](references\u002FuseDebounceFn.md) | Debounce execution of a function | AUTO |\r\n| [`useEventBus`](references\u002FuseEventBus.md) | A basic event bus | AUTO |\r\n| [`useMemoize`](references\u002FuseMemoize.md) | Cache results of functions depending on arguments and keep it reactive | AUTO |\r\n| [`useOffsetPagination`](references\u002FuseOffsetPagination.md) | Reactive offset pagination | AUTO |\r\n| [`usePrevious`](references\u002FusePrevious.md) | Holds the previous value of a ref | AUTO |\r\n| [`useStepper`](references\u002FuseStepper.md) | Provides helpers for building a multi-step wizard interface | AUTO |\r\n| [`useSupported`](references\u002FuseSupported.md) | SSR compatibility `isSupported` | AUTO |\r\n| [`useThrottleFn`](references\u002FuseThrottleFn.md) | Throttle execution of a function | AUTO |\r\n| [`useTimeoutPoll`](references\u002FuseTimeoutPoll.md) | Use timeout to poll something | AUTO |\r\n| [`useToggle`](references\u002FuseToggle.md) | A boolean switcher with utility functions | AUTO |\r\n| [`useToNumber`](references\u002FuseToNumber.md) | Reactively convert a string ref to number | AUTO |\r\n| [`useToString`](references\u002FuseToString.md) | Reactively convert a ref to string | AUTO |\r\n\r\n### @Electron\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useIpcRenderer`](references\u002FuseIpcRenderer.md) | Provides [ipcRenderer](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fipc-renderer) and all of its APIs with Vue reactivity | EXTERNAL |\r\n| [`useIpcRendererInvoke`](references\u002FuseIpcRendererInvoke.md) | Reactive [ipcRenderer.invoke API](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fipc-renderer#ipcrendererinvokechannel-args) result | EXTERNAL |\r\n| [`useIpcRendererOn`](references\u002FuseIpcRendererOn.md) | Use [ipcRenderer.on](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fipc-renderer#ipcrendereronchannel-listener) with ease and [ipcRenderer.removeListener](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fipc-renderer#ipcrendererremovelistenerchannel-listener) automatically on unmounted | EXTERNAL |\r\n| [`useZoomFactor`](references\u002FuseZoomFactor.md) | Reactive [WebFrame](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fweb-frame#webframe) zoom factor | EXTERNAL |\r\n| [`useZoomLevel`](references\u002FuseZoomLevel.md) | Reactive [WebFrame](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fweb-frame#webframe) zoom level | EXTERNAL |\r\n\r\n### @Firebase\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useAuth`](references\u002FuseAuth.md) | Reactive [Firebase Auth](https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fauth) binding | EXTERNAL |\r\n| [`useFirestore`](references\u002FuseFirestore.md) | Reactive [Firestore](https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Ffirestore) binding | EXTERNAL |\r\n| [`useRTDB`](references\u002FuseRTDB.md) | Reactive [Firebase Realtime Database](https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fdatabase) binding | EXTERNAL |\r\n\r\n### @Head\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createHead`](https:\u002F\u002Fgithub.com\u002Fvueuse\u002Fhead#api) | Create the head manager instance. | EXTERNAL |\r\n| [`useHead`](https:\u002F\u002Fgithub.com\u002Fvueuse\u002Fhead#api) | Update head meta tags reactively. | EXTERNAL |\r\n\r\n### @Integrations\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useAsyncValidator`](references\u002FuseAsyncValidator.md) | Wrapper for [`async-validator`](https:\u002F\u002Fgithub.com\u002Fyiminghe\u002Fasync-validator) | EXTERNAL |\r\n| [`useAxios`](references\u002FuseAxios.md) | Wrapper for [`axios`](https:\u002F\u002Fgithub.com\u002Faxios\u002Faxios) | EXTERNAL |\r\n| [`useChangeCase`](references\u002FuseChangeCase.md) | Reactive wrapper for [`change-case`](https:\u002F\u002Fgithub.com\u002Fblakeembrey\u002Fchange-case) | EXTERNAL |\r\n| [`useCookies`](references\u002FuseCookies.md) | Wrapper for [`universal-cookie`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Funiversal-cookie) | EXTERNAL |\r\n| [`useDrauu`](references\u002FuseDrauu.md) | Reactive instance for [drauu](https:\u002F\u002Fgithub.com\u002Fantfu\u002Fdrauu) | EXTERNAL |\r\n| [`useFocusTrap`](references\u002FuseFocusTrap.md) | Reactive wrapper for [`focus-trap`](https:\u002F\u002Fgithub.com\u002Ffocus-trap\u002Ffocus-trap) | EXTERNAL |\r\n| [`useFuse`](references\u002FuseFuse.md) | Easily implement fuzzy search using a composable with [Fuse.js](https:\u002F\u002Fgithub.com\u002Fkrisk\u002Ffuse) | EXTERNAL |\r\n| [`useIDBKeyval`](references\u002FuseIDBKeyval.md) | Wrapper for [`idb-keyval`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fidb-keyval) | EXTERNAL |\r\n| [`useJwt`](references\u002FuseJwt.md) | Wrapper for [`jwt-decode`](https:\u002F\u002Fgithub.com\u002Fauth0\u002Fjwt-decode) | EXTERNAL |\r\n| [`useNProgress`](references\u002FuseNProgress.md) | Reactive wrapper for [`nprogress`](https:\u002F\u002Fgithub.com\u002Frstacruz\u002Fnprogress) | EXTERNAL |\r\n| [`useQRCode`](references\u002FuseQRCode.md) | Wrapper for [`qrcode`](https:\u002F\u002Fgithub.com\u002Fsoldair\u002Fnode-qrcode) | EXTERNAL |\r\n| [`useSortable`](references\u002FuseSortable.md) | Wrapper for [`sortable`](https:\u002F\u002Fgithub.com\u002FSortableJS\u002FSortable) | EXTERNAL |\r\n\r\n### @Math\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createGenericProjection`](references\u002FcreateGenericProjection.md) | Generic version of `createProjection` | EXTERNAL |\r\n| [`createProjection`](references\u002FcreateProjection.md) | Reactive numeric projection from one domain to another | EXTERNAL |\r\n| [`logicAnd`](references\u002FlogicAnd.md) | `AND` condition for refs | EXTERNAL |\r\n| [`logicNot`](references\u002FlogicNot.md) | `NOT` condition for ref | EXTERNAL |\r\n| [`logicOr`](references\u002FlogicOr.md) | `OR` conditions for refs | EXTERNAL |\r\n| [`useAbs`](references\u002FuseAbs.md) | Reactive `Math.abs` | EXTERNAL |\r\n| [`useAverage`](references\u002FuseAverage.md) | Get the average of an array reactively | EXTERNAL |\r\n| [`useCeil`](references\u002FuseCeil.md) | Reactive `Math.ceil` | EXTERNAL |\r\n| [`useClamp`](references\u002FuseClamp.md) | Reactively clamp a value between two other values | EXTERNAL |\r\n| [`useFloor`](references\u002FuseFloor.md) | Reactive `Math.floor` | EXTERNAL |\r\n| [`useMath`](references\u002FuseMath.md) | Reactive `Math` methods | EXTERNAL |\r\n| [`useMax`](references\u002FuseMax.md) | Reactive `Math.max` | EXTERNAL |\r\n| [`useMin`](references\u002FuseMin.md) | Reactive `Math.min` | EXTERNAL |\r\n| [`usePrecision`](references\u002FusePrecision.md) | Reactively set the precision of a number | EXTERNAL |\r\n| [`useProjection`](references\u002FuseProjection.md) | Reactive numeric projection from one domain to another | EXTERNAL |\r\n| [`useRound`](references\u002FuseRound.md) | Reactive `Math.round` | EXTERNAL |\r\n| [`useSum`](references\u002FuseSum.md) | Get the sum of an array reactively | EXTERNAL |\r\n| [`useTrunc`](references\u002FuseTrunc.md) | Reactive `Math.trunc` | EXTERNAL |\r\n\r\n### @Motion\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useElementStyle`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-element-style) | Sync a reactive object to a target element CSS styling | EXTERNAL |\r\n| [`useElementTransform`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-element-transform) | Sync a reactive object to a target element CSS transform. | EXTERNAL |\r\n| [`useMotion`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-motion) | Putting your components in motion. | EXTERNAL |\r\n| [`useMotionProperties`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-motion-properties) | Access Motion Properties for a target element. | EXTERNAL |\r\n| [`useMotionVariants`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-motion-variants) | Handle the Variants state and selection. | EXTERNAL |\r\n| [`useSpring`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-spring) | Spring animations. | EXTERNAL |\r\n\r\n### @Router\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useRouteHash`](references\u002FuseRouteHash.md) | Shorthand for a reactive `route.hash` | EXTERNAL |\r\n| [`useRouteParams`](references\u002FuseRouteParams.md) | Shorthand for a reactive `route.params` | EXTERNAL |\r\n| [`useRouteQuery`](references\u002FuseRouteQuery.md) | Shorthand for a reactive `route.query` | EXTERNAL |\r\n\r\n### @RxJS\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`from`](references\u002Ffrom.md) | Wrappers around RxJS's [`from()`](https:\u002F\u002Frxjs.dev\u002Fapi\u002Findex\u002Ffunction\u002Ffrom) and [`fromEvent()`](https:\u002F\u002Frxjs.dev\u002Fapi\u002Findex\u002Ffunction\u002FfromEvent) to allow them to accept `ref`s | EXTERNAL |\r\n| [`toObserver`](references\u002FtoObserver.md) | Sugar function to convert a `ref` into an RxJS [Observer](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fobserver) | EXTERNAL |\r\n| [`useExtractedObservable`](references\u002FuseExtractedObservable.md) | Use an RxJS [`Observable`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fobservable) as extracted from one or more composables | EXTERNAL |\r\n| [`useObservable`](references\u002FuseObservable.md) | Use an RxJS [`Observable`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fobservable) | EXTERNAL |\r\n| [`useSubject`](references\u002FuseSubject.md) | Bind an RxJS [`Subject`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fsubject) to a `ref` and propagate value changes both ways | EXTERNAL |\r\n| [`useSubscription`](references\u002FuseSubscription.md) | Use an RxJS [`Subscription`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fsubscription) without worrying about unsubscribing from it or creating memory leaks | EXTERNAL |\r\n| [`watchExtractedObservable`](references\u002FwatchExtractedObservable.md) | Watch the values of an RxJS [`Observable`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fobservable) as extracted from one or more composables | EXTERNAL |\r\n\r\n### @SchemaOrg\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createSchemaOrg`](https:\u002F\u002Fvue-schema-org.netlify.app\u002Fapi\u002Fcore\u002Fcreate-schema-org.html) | Create the schema.org manager instance. | EXTERNAL |\r\n| [`useSchemaOrg`](https:\u002F\u002Fvue-schema-org.netlify.app\u002Fapi\u002Fcore\u002Fuse-schema-org.html) | Update schema.org reactively. | EXTERNAL |\r\n\r\n### @Sound\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useSound`](https:\u002F\u002Fgithub.com\u002Fvueuse\u002Fsound#examples) | Play sound effects reactively. | EXTERNAL |\r\n","# VueUse Functions\r\n\r\nThis skill is a decision-and-implementation guide for VueUse composables in Vue.js \u002F Nuxt projects. It maps requirements to the most suitable VueUse function, applies the correct usage pattern, and prefers composable-based solutions over bespoke code to keep implementations concise, maintainable, and performant.\r\n\r\n## When to Apply\r\n\r\n- Apply this skill whenever assisting user development work in Vue.js \u002F Nuxt.\r\n- Always check first whether a VueUse function can implement the requirement.\r\n- Prefer VueUse composables over custom code to improve readability, maintainability, and performance.\r\n- Map requirements to the most appropriate VueUse function and follow the function’s invocation rule.\r\n- Please refer to the `Invocation` field in the below functions table. For example:\r\n  - `AUTO`: Use automatically when applicable.\r\n  - `EXTERNAL`: Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.\r\n  - `EXPLICIT_ONLY`: Use only when explicitly requested by the user.\r\n  > *NOTE* User instructions in the prompt or `AGENTS.md` may override a function’s default `Invocation` rule.\r\n\r\n## Functions\r\n\r\nAll functions listed below are part of the [VueUse](https:\u002F\u002Fvueuse.org\u002F) library, each section categorizes functions based on their functionality.\r\n\r\nIMPORTANT: Each function entry includes a short `Description` and a detailed `Reference`. When using any function, always consult the corresponding document in `.\u002Freferences` for Usage details and Type Declarations.\r\n\r\n### State\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createGlobalState`](references\u002FcreateGlobalState.md) | Keep states in the global scope to be reusable across Vue instances | AUTO |\r\n| [`createInjectionState`](references\u002FcreateInjectionState.md) | Create global state that can be injected into components | AUTO |\r\n| [`createSharedComposable`](references\u002FcreateSharedComposable.md) | Make a composable function usable with multiple Vue instances | AUTO |\r\n| [`injectLocal`](references\u002FinjectLocal.md) | Extended `inject` with ability to call `provideLocal` to provide the value in the same component | AUTO |\r\n| [`provideLocal`](references\u002FprovideLocal.md) | Extended `provide` with ability to call `injectLocal` to obtain the value in the same component | AUTO |\r\n| [`useAsyncState`](references\u002FuseAsyncState.md) | Reactive async state | AUTO |\r\n| [`useDebouncedRefHistory`](references\u002FuseDebouncedRefHistory.md) | Shorthand for `useRefHistory` with debounced filter | AUTO |\r\n| [`useLastChanged`](references\u002FuseLastChanged.md) | Records the timestamp of the last change | AUTO |\r\n| [`useLocalStorage`](references\u002FuseLocalStorage.md) | Reactive [LocalStorage](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FlocalStorage) | AUTO |\r\n| [`useManualRefHistory`](references\u002FuseManualRefHistory.md) | Manually track the change history of a ref when the using calls `commit()` | AUTO |\r\n| [`useRefHistory`](references\u002FuseRefHistory.md) | Track the change history of a ref | AUTO |\r\n| [`useSessionStorage`](references\u002FuseSessionStorage.md) | Reactive [SessionStorage](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FsessionStorage) | AUTO |\r\n| [`useStorage`](references\u002FuseStorage.md) | Create a reactive ref that can be used to access & modify [LocalStorage](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FlocalStorage) or [SessionStorage](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FsessionStorage) | AUTO |\r\n| [`useStorageAsync`](references\u002FuseStorageAsync.md) | Reactive Storage in with async support | AUTO |\r\n| [`useThrottledRefHistory`](references\u002FuseThrottledRefHistory.md) | Shorthand for `useRefHistory` with throttled filter | AUTO |\r\n\r\n### Elements\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useActiveElement`](references\u002FuseActiveElement.md) | Reactive `document.activeElement` | AUTO |\r\n| [`useDocumentVisibility`](references\u002FuseDocumentVisibility.md) | Reactively track [`document.visibilityState`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FDocument\u002FvisibilityState) | AUTO |\r\n| [`useDraggable`](references\u002FuseDraggable.md) | Make elements draggable | AUTO |\r\n| [`useDropZone`](references\u002FuseDropZone.md) | Create a zone where files can be dropped | AUTO |\r\n| [`useElementBounding`](references\u002FuseElementBounding.md) | Reactive [bounding box](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FElement\u002FgetBoundingClientRect) of an HTML element | AUTO |\r\n| [`useElementSize`](references\u002FuseElementSize.md) | Reactive size of an HTML element | AUTO |\r\n| [`useElementVisibility`](references\u002FuseElementVisibility.md) | Tracks the visibility of an element within the viewport | AUTO |\r\n| [`useIntersectionObserver`](references\u002FuseIntersectionObserver.md) | Detects that a target element's visibility | AUTO |\r\n| [`useMouseInElement`](references\u002FuseMouseInElement.md) | Reactive mouse position related to an element | AUTO |\r\n| [`useMutationObserver`](references\u002FuseMutationObserver.md) | Watch for changes being made to the DOM tree | AUTO |\r\n| [`useParentElement`](references\u002FuseParentElement.md) | Get parent element of the given element | AUTO |\r\n| [`useResizeObserver`](references\u002FuseResizeObserver.md) | Reports changes to the dimensions of an Element's content or the border-box | AUTO |\r\n| [`useWindowFocus`](references\u002FuseWindowFocus.md) | Reactively track window focus with `window.onfocus` and `window.onblur` events | AUTO |\r\n| [`useWindowScroll`](references\u002FuseWindowScroll.md) | Reactive window scroll | AUTO |\r\n| [`useWindowSize`](references\u002FuseWindowSize.md) | Reactive window size | AUTO |\r\n\r\n### Browser\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useBluetooth`](references\u002FuseBluetooth.md) | Reactive [Web Bluetooth API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWeb_Bluetooth_API) | AUTO |\r\n| [`useBreakpoints`](references\u002FuseBreakpoints.md) | Reactive viewport breakpoints | AUTO |\r\n| [`useBroadcastChannel`](references\u002FuseBroadcastChannel.md) | Reactive [BroadcastChannel API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FBroadcastChannel) | AUTO |\r\n| [`useBrowserLocation`](references\u002FuseBrowserLocation.md) | Reactive browser location | AUTO |\r\n| [`useClipboard`](references\u002FuseClipboard.md) | Reactive [Clipboard API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FClipboard_API) | AUTO |\r\n| [`useClipboardItems`](references\u002FuseClipboardItems.md) | Reactive [Clipboard API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FClipboard_API) | AUTO |\r\n| [`useColorMode`](references\u002FuseColorMode.md) | Reactive color mode (dark \u002F light \u002F customs) with auto data persistence | AUTO |\r\n| [`useCssSupports`](references\u002FuseCssSupports.md) | SSR compatible and reactive [`CSS.supports`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fdocs\u002FWeb\u002FAPI\u002FCSS\u002Fsupports_static) | AUTO |\r\n| [`useCssVar`](references\u002FuseCssVar.md) | Manipulate CSS variables | AUTO |\r\n| [`useDark`](references\u002FuseDark.md) | Reactive dark mode with auto data persistence | AUTO |\r\n| [`useEventListener`](references\u002FuseEventListener.md) | Use EventListener with ease | AUTO |\r\n| [`useEyeDropper`](references\u002FuseEyeDropper.md) | Reactive [EyeDropper API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FEyeDropper_API) | AUTO |\r\n| [`useFavicon`](references\u002FuseFavicon.md) | Reactive favicon | AUTO |\r\n| [`useFileDialog`](references\u002FuseFileDialog.md) | Open file dialog with ease | AUTO |\r\n| [`useFileSystemAccess`](references\u002FuseFileSystemAccess.md) | Create and read and write local files with [FileSystemAccessAPI](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FFile_System_Access_API) | AUTO |\r\n| [`useFullscreen`](references\u002FuseFullscreen.md) | Reactive [Fullscreen API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FFullscreen_API) | AUTO |\r\n| [`useGamepad`](references\u002FuseGamepad.md) | Provides reactive bindings for the [Gamepad API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FGamepad_API) | AUTO |\r\n| [`useImage`](references\u002FuseImage.md) | Reactive load an image in the browser | AUTO |\r\n| [`useMediaControls`](references\u002FuseMediaControls.md) | Reactive media controls for both `audio` and `video` elements | AUTO |\r\n| [`useMediaQuery`](references\u002FuseMediaQuery.md) | Reactive [Media Query](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002FMedia_Queries\u002FTesting_media_queries) | AUTO |\r\n| [`useMemory`](references\u002FuseMemory.md) | Reactive Memory Info | AUTO |\r\n| [`useObjectUrl`](references\u002FuseObjectUrl.md) | Reactive URL representing an object | AUTO |\r\n| [`usePerformanceObserver`](references\u002FusePerformanceObserver.md) | Observe performance metrics | AUTO |\r\n| [`usePermission`](references\u002FusePermission.md) | Reactive [Permissions API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FPermissions_API) | AUTO |\r\n| [`usePreferredColorScheme`](references\u002FusePreferredColorScheme.md) | Reactive [prefers-color-scheme](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-color-scheme) media query | AUTO |\r\n| [`usePreferredContrast`](references\u002FusePreferredContrast.md) | Reactive [prefers-contrast](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-contrast) media query | AUTO |\r\n| [`usePreferredDark`](references\u002FusePreferredDark.md) | Reactive dark theme preference | AUTO |\r\n| [`usePreferredLanguages`](references\u002FusePreferredLanguages.md) | Reactive [Navigator Languages](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FNavigatorLanguage\u002Flanguages) | AUTO |\r\n| [`usePreferredReducedMotion`](references\u002FusePreferredReducedMotion.md) | Reactive [prefers-reduced-motion](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-reduced-motion) media query | AUTO |\r\n| [`usePreferredReducedTransparency`](references\u002FusePreferredReducedTransparency.md) | Reactive [prefers-reduced-transparency](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FCSS\u002F@media\u002Fprefers-reduced-transparency) media query | AUTO |\r\n| [`useScreenOrientation`](references\u002FuseScreenOrientation.md) | Reactive [Screen Orientation API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FScreen_Orientation_API) | AUTO |\r\n| [`useScreenSafeArea`](references\u002FuseScreenSafeArea.md) | Reactive `env(safe-area-inset-*)` | AUTO |\r\n| [`useScriptTag`](references\u002FuseScriptTag.md) | Creates a script tag | AUTO |\r\n| [`useShare`](references\u002FuseShare.md) | Reactive [Web Share API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FNavigator\u002Fshare) | AUTO |\r\n| [`useSSRWidth`](references\u002FuseSSRWidth.md) | Used to set a global viewport width which will be used when rendering SSR components that rely on the viewport width like [`useMediaQuery`](..\u002FuseMediaQuery\u002Findex.md) or [`useBreakpoints`](..\u002FuseBreakpoints\u002Findex.md) | AUTO |\r\n| [`useStyleTag`](references\u002FuseStyleTag.md) | Inject reactive `style` element in head | AUTO |\r\n| [`useTextareaAutosize`](references\u002FuseTextareaAutosize.md) | Automatically update the height of a textarea depending on the content | AUTO |\r\n| [`useTextDirection`](references\u002FuseTextDirection.md) | Reactive [dir](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FHTML\u002FGlobal_attributes\u002Fdir) of the element's text | AUTO |\r\n| [`useTitle`](references\u002FuseTitle.md) | Reactive document title | AUTO |\r\n| [`useUrlSearchParams`](references\u002FuseUrlSearchParams.md) | Reactive [URLSearchParams](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FURLSearchParams) | AUTO |\r\n| [`useVibrate`](references\u002FuseVibrate.md) | Reactive [Vibration API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FVibration_API) | AUTO |\r\n| [`useWakeLock`](references\u002FuseWakeLock.md) | Reactive [Screen Wake Lock API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FScreen_Wake_Lock_API) | AUTO |\r\n| [`useWebNotification`](references\u002FuseWebNotification.md) | Reactive [Notification](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002Fnotification) | AUTO |\r\n| [`useWebWorker`](references\u002FuseWebWorker.md) | Simple [Web Workers](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWeb_Workers_API\u002FUsing_web_workers) registration and communication | AUTO |\r\n| [`useWebWorkerFn`](references\u002FuseWebWorkerFn.md) | Run expensive functions without blocking the UI | AUTO |\r\n\r\n### Sensors\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`onClickOutside`](references\u002FonClickOutside.md) | Listen for clicks outside of an element | AUTO |\r\n| [`onElementRemoval`](references\u002FonElementRemoval.md) | Fires when the element or any element containing it is removed from the DOM | AUTO |\r\n| [`onKeyStroke`](references\u002FonKeyStroke.md) | Listen for keyboard keystrokes | AUTO |\r\n| [`onLongPress`](references\u002FonLongPress.md) | Listen for a long press on an element | AUTO |\r\n| [`onStartTyping`](references\u002FonStartTyping.md) | Fires when users start typing on non-editable elements | AUTO |\r\n| [`useBattery`](references\u002FuseBattery.md) | Reactive [Battery Status API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FBattery_Status_API) | AUTO |\r\n| [`useDeviceMotion`](references\u002FuseDeviceMotion.md) | Reactive [DeviceMotionEvent](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FDeviceMotionEvent) | AUTO |\r\n| [`useDeviceOrientation`](references\u002FuseDeviceOrientation.md) | Reactive [DeviceOrientationEvent](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FDeviceOrientationEvent) | AUTO |\r\n| [`useDevicePixelRatio`](references\u002FuseDevicePixelRatio.md) | Reactively track [`window.devicePixelRatio`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FdevicePixelRatio) | AUTO |\r\n| [`useDevicesList`](references\u002FuseDevicesList.md) | Reactive [enumerateDevices](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FMediaDevices\u002FenumerateDevices) listing available input\u002Foutput devices | AUTO |\r\n| [`useDisplayMedia`](references\u002FuseDisplayMedia.md) | Reactive [`mediaDevices.getDisplayMedia`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FMediaDevices\u002FgetDisplayMedia) streaming | AUTO |\r\n| [`useElementByPoint`](references\u002FuseElementByPoint.md) | Reactive element by point | AUTO |\r\n| [`useElementHover`](references\u002FuseElementHover.md) | Reactive element's hover state | AUTO |\r\n| [`useFocus`](references\u002FuseFocus.md) | Reactive utility to track or set the focus state of a DOM element | AUTO |\r\n| [`useFocusWithin`](references\u002FuseFocusWithin.md) | Reactive utility to track if an element or one of its decendants has focus | AUTO |\r\n| [`useFps`](references\u002FuseFps.md) | Reactive FPS (frames per second) | AUTO |\r\n| [`useGeolocation`](references\u002FuseGeolocation.md) | Reactive [Geolocation API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FGeolocation_API) | AUTO |\r\n| [`useIdle`](references\u002FuseIdle.md) | Tracks whether the user is being inactive | AUTO |\r\n| [`useInfiniteScroll`](references\u002FuseInfiniteScroll.md) | Infinite scrolling of the element | AUTO |\r\n| [`useKeyModifier`](references\u002FuseKeyModifier.md) | Reactive [Modifier State](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FKeyboardEvent\u002FgetModifierState) | AUTO |\r\n| [`useMagicKeys`](references\u002FuseMagicKeys.md) | Reactive keys pressed state | AUTO |\r\n| [`useMouse`](references\u002FuseMouse.md) | Reactive mouse position | AUTO |\r\n| [`useMousePressed`](references\u002FuseMousePressed.md) | Reactive mouse pressing state | AUTO |\r\n| [`useNavigatorLanguage`](references\u002FuseNavigatorLanguage.md) | Reactive [navigator.language](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FNavigator\u002Flanguage) | AUTO |\r\n| [`useNetwork`](references\u002FuseNetwork.md) | Reactive [Network status](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FNetwork_Information_API) | AUTO |\r\n| [`useOnline`](references\u002FuseOnline.md) | Reactive online state | AUTO |\r\n| [`usePageLeave`](references\u002FusePageLeave.md) | Reactive state to show whether the mouse leaves the page | AUTO |\r\n| [`useParallax`](references\u002FuseParallax.md) | Create parallax effect easily | AUTO |\r\n| [`usePointer`](references\u002FusePointer.md) | Reactive [pointer state](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FPointer_events) | AUTO |\r\n| [`usePointerLock`](references\u002FusePointerLock.md) | Reactive [pointer lock](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FPointer_Lock_API) | AUTO |\r\n| [`usePointerSwipe`](references\u002FusePointerSwipe.md) | Reactive swipe detection based on [PointerEvents](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FPointerEvent) | AUTO |\r\n| [`useScroll`](references\u002FuseScroll.md) | Reactive scroll position and state | AUTO |\r\n| [`useScrollLock`](references\u002FuseScrollLock.md) | Lock scrolling of the element | AUTO |\r\n| [`useSpeechRecognition`](references\u002FuseSpeechRecognition.md) | Reactive [SpeechRecognition](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FSpeechRecognition) | AUTO |\r\n| [`useSpeechSynthesis`](references\u002FuseSpeechSynthesis.md) | Reactive [SpeechSynthesis](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FSpeechSynthesis) | AUTO |\r\n| [`useSwipe`](references\u002FuseSwipe.md) | Reactive swipe detection based on [`TouchEvents`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FTouchEvent) | AUTO |\r\n| [`useTextSelection`](references\u002FuseTextSelection.md) | Reactively track user text selection based on [`Window.getSelection`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWindow\u002FgetSelection) | AUTO |\r\n| [`useUserMedia`](references\u002FuseUserMedia.md) | Reactive [`mediaDevices.getUserMedia`](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FMediaDevices\u002FgetUserMedia) streaming | AUTO |\r\n\r\n### Network\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useEventSource`](references\u002FuseEventSource.md) | An [EventSource](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FEventSource) or [Server-Sent-Events](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FServer-sent_events) instance opens a persistent connection to an HTTP server | AUTO |\r\n| [`useFetch`](references\u002FuseFetch.md) | Reactive [Fetch API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FFetch_API) provides the ability to abort requests | AUTO |\r\n| [`useWebSocket`](references\u002FuseWebSocket.md) | Reactive [WebSocket](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWebSocket\u002FWebSocket) client | AUTO |\r\n\r\n### Animation\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useAnimate`](references\u002FuseAnimate.md) | Reactive [Web Animations API](https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002FWeb_Animations_API) | AUTO |\r\n| [`useInterval`](references\u002FuseInterval.md) | Reactive counter that increases on every interval | AUTO |\r\n| [`useIntervalFn`](references\u002FuseIntervalFn.md) | Wrapper for `setInterval` with controls | AUTO |\r\n| [`useNow`](references\u002FuseNow.md) | Reactive current Date instance | AUTO |\r\n| [`useRafFn`](references\u002FuseRafFn.md) | Call function on every `requestAnimationFrame` | AUTO |\r\n| [`useTimeout`](references\u002FuseTimeout.md) | Reactive value that becomes `true` after a given time | AUTO |\r\n| [`useTimeoutFn`](references\u002FuseTimeoutFn.md) | Wrapper for `setTimeout` with controls | AUTO |\r\n| [`useTimestamp`](references\u002FuseTimestamp.md) | Reactive current timestamp | AUTO |\r\n| [`useTransition`](references\u002FuseTransition.md) | Transition between values | AUTO |\r\n\r\n### Component\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`computedInject`](references\u002FcomputedInject.md) | Combine `computed` and `inject` | AUTO |\r\n| [`createReusableTemplate`](references\u002FcreateReusableTemplate.md) | Define and reuse template inside the component scope | AUTO |\r\n| [`createTemplatePromise`](references\u002FcreateTemplatePromise.md) | Template as Promise | AUTO |\r\n| [`templateRef`](references\u002FtemplateRef.md) | Shorthand for binding ref to template element | AUTO |\r\n| [`tryOnBeforeMount`](references\u002FtryOnBeforeMount.md) | Safe `onBeforeMount` | AUTO |\r\n| [`tryOnBeforeUnmount`](references\u002FtryOnBeforeUnmount.md) | Safe `onBeforeUnmount` | AUTO |\r\n| [`tryOnMounted`](references\u002FtryOnMounted.md) | Safe `onMounted` | AUTO |\r\n| [`tryOnScopeDispose`](references\u002FtryOnScopeDispose.md) | Safe `onScopeDispose` | AUTO |\r\n| [`tryOnUnmounted`](references\u002FtryOnUnmounted.md) | Safe `onUnmounted` | AUTO |\r\n| [`unrefElement`](references\u002FunrefElement.md) | Retrieves the underlying DOM element from a Vue ref or component instance | AUTO |\r\n| [`useCurrentElement`](references\u002FuseCurrentElement.md) | Get the DOM element of current component as a ref | AUTO |\r\n| [`useMounted`](references\u002FuseMounted.md) | Mounted state in ref | AUTO |\r\n| [`useTemplateRefsList`](references\u002FuseTemplateRefsList.md) | Shorthand for binding refs to template elements and components inside `v-for` | AUTO |\r\n| [`useVirtualList`](references\u002FuseVirtualList.md) | Create virtual lists with ease | AUTO |\r\n| [`useVModel`](references\u002FuseVModel.md) | Shorthand for v-model binding | AUTO |\r\n| [`useVModels`](references\u002FuseVModels.md) | Shorthand for props v-model binding | AUTO |\r\n\r\n### Watch\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`until`](references\u002Funtil.md) | Promised one-time watch for changes | AUTO |\r\n| [`watchArray`](references\u002FwatchArray.md) | Watch for an array with additions and removals | AUTO |\r\n| [`watchAtMost`](references\u002FwatchAtMost.md) | `watch` with the number of times triggered | AUTO |\r\n| [`watchDebounced`](references\u002FwatchDebounced.md) | Debounced watch | AUTO |\r\n| [`watchDeep`](references\u002FwatchDeep.md) | Shorthand for watching value with `{deep: true}` | AUTO |\r\n| [`watchIgnorable`](references\u002FwatchIgnorable.md) | Ignorable watch | AUTO |\r\n| [`watchImmediate`](references\u002FwatchImmediate.md) | Shorthand for watching value with `{immediate: true}` | AUTO |\r\n| [`watchOnce`](references\u002FwatchOnce.md) | Shorthand for watching value with `{ once: true }` | AUTO |\r\n| [`watchPausable`](references\u002FwatchPausable.md) | Pausable watch | AUTO |\r\n| [`watchThrottled`](references\u002FwatchThrottled.md) | Throttled watch | AUTO |\r\n| [`watchTriggerable`](references\u002FwatchTriggerable.md) | Watch that can be triggered manually | AUTO |\r\n| [`watchWithFilter`](references\u002FwatchWithFilter.md) | `watch` with additional EventFilter control | AUTO |\r\n| [`whenever`](references\u002Fwhenever.md) | Shorthand for watching value to be truthy | AUTO |\r\n\r\n### Reactivity\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`computedAsync`](references\u002FcomputedAsync.md) | Computed for async functions | AUTO |\r\n| [`computedEager`](references\u002FcomputedEager.md) | Eager computed without lazy evaluation | AUTO |\r\n| [`computedWithControl`](references\u002FcomputedWithControl.md) | Explicitly define the dependencies of computed | AUTO |\r\n| [`createRef`](references\u002FcreateRef.md) | Returns a `deepRef` or `shallowRef` depending on the `deep` param | AUTO |\r\n| [`extendRef`](references\u002FextendRef.md) | Add extra attributes to Ref | AUTO |\r\n| [`reactify`](references\u002Freactify.md) | Converts plain functions into reactive functions | AUTO |\r\n| [`reactifyObject`](references\u002FreactifyObject.md) | Apply `reactify` to an object | AUTO |\r\n| [`reactiveComputed`](references\u002FreactiveComputed.md) | Computed reactive object | AUTO |\r\n| [`reactiveOmit`](references\u002FreactiveOmit.md) | Reactively omit fields from a reactive object | AUTO |\r\n| [`reactivePick`](references\u002FreactivePick.md) | Reactively pick fields from a reactive object | AUTO |\r\n| [`refAutoReset`](references\u002FrefAutoReset.md) | A ref which will be reset to the default value after some time | AUTO |\r\n| [`refDebounced`](references\u002FrefDebounced.md) | Debounce execution of a ref value | AUTO |\r\n| [`refDefault`](references\u002FrefDefault.md) | Apply default value to a ref | AUTO |\r\n| [`refManualReset`](references\u002FrefManualReset.md) | Create a ref with manual reset functionality | AUTO |\r\n| [`refThrottled`](references\u002FrefThrottled.md) | Throttle changing of a ref value | AUTO |\r\n| [`refWithControl`](references\u002FrefWithControl.md) | Fine-grained controls over ref and its reactivity | AUTO |\r\n| [`syncRef`](references\u002FsyncRef.md) | Two-way refs synchronization | AUTO |\r\n| [`syncRefs`](references\u002FsyncRefs.md) | Keep target refs in sync with a source ref | AUTO |\r\n| [`toReactive`](references\u002FtoReactive.md) | Converts ref to reactive | AUTO |\r\n| [`toRef`](references\u002FtoRef.md) | Normalize value\u002Fref\u002Fgetter to `ref` or `computed` | EXPLICIT_ONLY |\r\n| [`toRefs`](references\u002FtoRefs.md) | Extended [`toRefs`](https:\u002F\u002Fvuejs.org\u002Fapi\u002Freactivity-utilities.html#torefs) that also accepts refs of an object | AUTO |\r\n\r\n### Array\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useArrayDifference`](references\u002FuseArrayDifference.md) | Reactive get array difference of two arrays | AUTO |\r\n| [`useArrayEvery`](references\u002FuseArrayEvery.md) | Reactive `Array.every` | AUTO |\r\n| [`useArrayFilter`](references\u002FuseArrayFilter.md) | Reactive `Array.filter` | AUTO |\r\n| [`useArrayFind`](references\u002FuseArrayFind.md) | Reactive `Array.find` | AUTO |\r\n| [`useArrayFindIndex`](references\u002FuseArrayFindIndex.md) | Reactive `Array.findIndex` | AUTO |\r\n| [`useArrayFindLast`](references\u002FuseArrayFindLast.md) | Reactive `Array.findLast` | AUTO |\r\n| [`useArrayIncludes`](references\u002FuseArrayIncludes.md) | Reactive `Array.includes` | AUTO |\r\n| [`useArrayJoin`](references\u002FuseArrayJoin.md) | Reactive `Array.join` | AUTO |\r\n| [`useArrayMap`](references\u002FuseArrayMap.md) | Reactive `Array.map` | AUTO |\r\n| [`useArrayReduce`](references\u002FuseArrayReduce.md) | Reactive `Array.reduce` | AUTO |\r\n| [`useArraySome`](references\u002FuseArraySome.md) | Reactive `Array.some` | AUTO |\r\n| [`useArrayUnique`](references\u002FuseArrayUnique.md) | Reactive unique array | AUTO |\r\n| [`useSorted`](references\u002FuseSorted.md) | Reactive sort array | AUTO |\r\n\r\n### Time\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useCountdown`](references\u002FuseCountdown.md) | Reactive countdown timer in seconds | AUTO |\r\n| [`useDateFormat`](references\u002FuseDateFormat.md) | Get the formatted date according to the string of tokens passed in | AUTO |\r\n| [`useTimeAgo`](references\u002FuseTimeAgo.md) | Reactive time ago | AUTO |\r\n| [`useTimeAgoIntl`](references\u002FuseTimeAgoIntl.md) | Reactive time ago with i18n supported | AUTO |\r\n\r\n### Utilities\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createEventHook`](references\u002FcreateEventHook.md) | Utility for creating event hooks | AUTO |\r\n| [`createUnrefFn`](references\u002FcreateUnrefFn.md) | Make a plain function accepting ref and raw values as arguments | AUTO |\r\n| [`get`](references\u002Fget.md) | Shorthand for accessing `ref.value` | EXPLICIT_ONLY |\r\n| [`isDefined`](references\u002FisDefined.md) | Non-nullish checking type guard for Ref | AUTO |\r\n| [`makeDestructurable`](references\u002FmakeDestructurable.md) | Make isomorphic destructurable for object and array at the same time | AUTO |\r\n| [`set`](references\u002Fset.md) | Shorthand for `ref.value = x` | EXPLICIT_ONLY |\r\n| [`useAsyncQueue`](references\u002FuseAsyncQueue.md) | Executes each asynchronous task sequentially and passes the current task result to the next task | AUTO |\r\n| [`useBase64`](references\u002FuseBase64.md) | Reactive base64 transforming | AUTO |\r\n| [`useCached`](references\u002FuseCached.md) | Cache a ref with a custom comparator | AUTO |\r\n| [`useCloned`](references\u002FuseCloned.md) | Reactive clone of a ref | AUTO |\r\n| [`useConfirmDialog`](references\u002FuseConfirmDialog.md) | Creates event hooks to support modals and confirmation dialog chains | AUTO |\r\n| [`useCounter`](references\u002FuseCounter.md) | Basic counter with utility functions | AUTO |\r\n| [`useCycleList`](references\u002FuseCycleList.md) | Cycle through a list of items | AUTO |\r\n| [`useDebounceFn`](references\u002FuseDebounceFn.md) | Debounce execution of a function | AUTO |\r\n| [`useEventBus`](references\u002FuseEventBus.md) | A basic event bus | AUTO |\r\n| [`useMemoize`](references\u002FuseMemoize.md) | Cache results of functions depending on arguments and keep it reactive | AUTO |\r\n| [`useOffsetPagination`](references\u002FuseOffsetPagination.md) | Reactive offset pagination | AUTO |\r\n| [`usePrevious`](references\u002FusePrevious.md) | Holds the previous value of a ref | AUTO |\r\n| [`useStepper`](references\u002FuseStepper.md) | Provides helpers for building a multi-step wizard interface | AUTO |\r\n| [`useSupported`](references\u002FuseSupported.md) | SSR compatibility `isSupported` | AUTO |\r\n| [`useThrottleFn`](references\u002FuseThrottleFn.md) | Throttle execution of a function | AUTO |\r\n| [`useTimeoutPoll`](references\u002FuseTimeoutPoll.md) | Use timeout to poll something | AUTO |\r\n| [`useToggle`](references\u002FuseToggle.md) | A boolean switcher with utility functions | AUTO |\r\n| [`useToNumber`](references\u002FuseToNumber.md) | Reactively convert a string ref to number | AUTO |\r\n| [`useToString`](references\u002FuseToString.md) | Reactively convert a ref to string | AUTO |\r\n\r\n### @Electron\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useIpcRenderer`](references\u002FuseIpcRenderer.md) | Provides [ipcRenderer](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fipc-renderer) and all of its APIs with Vue reactivity | EXTERNAL |\r\n| [`useIpcRendererInvoke`](references\u002FuseIpcRendererInvoke.md) | Reactive [ipcRenderer.invoke API](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fipc-renderer#ipcrendererinvokechannel-args) result | EXTERNAL |\r\n| [`useIpcRendererOn`](references\u002FuseIpcRendererOn.md) | Use [ipcRenderer.on](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fipc-renderer#ipcrendereronchannel-listener) with ease and [ipcRenderer.removeListener](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fipc-renderer#ipcrendererremovelistenerchannel-listener) automatically on unmounted | EXTERNAL |\r\n| [`useZoomFactor`](references\u002FuseZoomFactor.md) | Reactive [WebFrame](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fweb-frame#webframe) zoom factor | EXTERNAL |\r\n| [`useZoomLevel`](references\u002FuseZoomLevel.md) | Reactive [WebFrame](https:\u002F\u002Fwww.electronjs.org\u002Fdocs\u002Fapi\u002Fweb-frame#webframe) zoom level | EXTERNAL |\r\n\r\n### @Firebase\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useAuth`](references\u002FuseAuth.md) | Reactive [Firebase Auth](https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fauth) binding | EXTERNAL |\r\n| [`useFirestore`](references\u002FuseFirestore.md) | Reactive [Firestore](https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Ffirestore) binding | EXTERNAL |\r\n| [`useRTDB`](references\u002FuseRTDB.md) | Reactive [Firebase Realtime Database](https:\u002F\u002Ffirebase.google.com\u002Fdocs\u002Fdatabase) binding | EXTERNAL |\r\n\r\n### @Head\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createHead`](https:\u002F\u002Fgithub.com\u002Fvueuse\u002Fhead#api) | Create the head manager instance. | EXTERNAL |\r\n| [`useHead`](https:\u002F\u002Fgithub.com\u002Fvueuse\u002Fhead#api) | Update head meta tags reactively. | EXTERNAL |\r\n\r\n### @Integrations\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useAsyncValidator`](references\u002FuseAsyncValidator.md) | Wrapper for [`async-validator`](https:\u002F\u002Fgithub.com\u002Fyiminghe\u002Fasync-validator) | EXTERNAL |\r\n| [`useAxios`](references\u002FuseAxios.md) | Wrapper for [`axios`](https:\u002F\u002Fgithub.com\u002Faxios\u002Faxios) | EXTERNAL |\r\n| [`useChangeCase`](references\u002FuseChangeCase.md) | Reactive wrapper for [`change-case`](https:\u002F\u002Fgithub.com\u002Fblakeembrey\u002Fchange-case) | EXTERNAL |\r\n| [`useCookies`](references\u002FuseCookies.md) | Wrapper for [`universal-cookie`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Funiversal-cookie) | EXTERNAL |\r\n| [`useDrauu`](references\u002FuseDrauu.md) | Reactive instance for [drauu](https:\u002F\u002Fgithub.com\u002Fantfu\u002Fdrauu) | EXTERNAL |\r\n| [`useFocusTrap`](references\u002FuseFocusTrap.md) | Reactive wrapper for [`focus-trap`](https:\u002F\u002Fgithub.com\u002Ffocus-trap\u002Ffocus-trap) | EXTERNAL |\r\n| [`useFuse`](references\u002FuseFuse.md) | Easily implement fuzzy search using a composable with [Fuse.js](https:\u002F\u002Fgithub.com\u002Fkrisk\u002Ffuse) | EXTERNAL |\r\n| [`useIDBKeyval`](references\u002FuseIDBKeyval.md) | Wrapper for [`idb-keyval`](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fidb-keyval) | EXTERNAL |\r\n| [`useJwt`](references\u002FuseJwt.md) | Wrapper for [`jwt-decode`](https:\u002F\u002Fgithub.com\u002Fauth0\u002Fjwt-decode) | EXTERNAL |\r\n| [`useNProgress`](references\u002FuseNProgress.md) | Reactive wrapper for [`nprogress`](https:\u002F\u002Fgithub.com\u002Frstacruz\u002Fnprogress) | EXTERNAL |\r\n| [`useQRCode`](references\u002FuseQRCode.md) | Wrapper for [`qrcode`](https:\u002F\u002Fgithub.com\u002Fsoldair\u002Fnode-qrcode) | EXTERNAL |\r\n| [`useSortable`](references\u002FuseSortable.md) | Wrapper for [`sortable`](https:\u002F\u002Fgithub.com\u002FSortableJS\u002FSortable) | EXTERNAL |\r\n\r\n### @Math\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createGenericProjection`](references\u002FcreateGenericProjection.md) | Generic version of `createProjection` | EXTERNAL |\r\n| [`createProjection`](references\u002FcreateProjection.md) | Reactive numeric projection from one domain to another | EXTERNAL |\r\n| [`logicAnd`](references\u002FlogicAnd.md) | `AND` condition for refs | EXTERNAL |\r\n| [`logicNot`](references\u002FlogicNot.md) | `NOT` condition for ref | EXTERNAL |\r\n| [`logicOr`](references\u002FlogicOr.md) | `OR` conditions for refs | EXTERNAL |\r\n| [`useAbs`](references\u002FuseAbs.md) | Reactive `Math.abs` | EXTERNAL |\r\n| [`useAverage`](references\u002FuseAverage.md) | Get the average of an array reactively | EXTERNAL |\r\n| [`useCeil`](references\u002FuseCeil.md) | Reactive `Math.ceil` | EXTERNAL |\r\n| [`useClamp`](references\u002FuseClamp.md) | Reactively clamp a value between two other values | EXTERNAL |\r\n| [`useFloor`](references\u002FuseFloor.md) | Reactive `Math.floor` | EXTERNAL |\r\n| [`useMath`](references\u002FuseMath.md) | Reactive `Math` methods | EXTERNAL |\r\n| [`useMax`](references\u002FuseMax.md) | Reactive `Math.max` | EXTERNAL |\r\n| [`useMin`](references\u002FuseMin.md) | Reactive `Math.min` | EXTERNAL |\r\n| [`usePrecision`](references\u002FusePrecision.md) | Reactively set the precision of a number | EXTERNAL |\r\n| [`useProjection`](references\u002FuseProjection.md) | Reactive numeric projection from one domain to another | EXTERNAL |\r\n| [`useRound`](references\u002FuseRound.md) | Reactive `Math.round` | EXTERNAL |\r\n| [`useSum`](references\u002FuseSum.md) | Get the sum of an array reactively | EXTERNAL |\r\n| [`useTrunc`](references\u002FuseTrunc.md) | Reactive `Math.trunc` | EXTERNAL |\r\n\r\n### @Motion\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useElementStyle`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-element-style) | Sync a reactive object to a target element CSS styling | EXTERNAL |\r\n| [`useElementTransform`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-element-transform) | Sync a reactive object to a target element CSS transform. | EXTERNAL |\r\n| [`useMotion`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-motion) | Putting your components in motion. | EXTERNAL |\r\n| [`useMotionProperties`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-motion-properties) | Access Motion Properties for a target element. | EXTERNAL |\r\n| [`useMotionVariants`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-motion-variants) | Handle the Variants state and selection. | EXTERNAL |\r\n| [`useSpring`](https:\u002F\u002Fmotion.vueuse.org\u002Fapi\u002Fuse-spring) | Spring animations. | EXTERNAL |\r\n\r\n### @Router\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useRouteHash`](references\u002FuseRouteHash.md) | Shorthand for a reactive `route.hash` | EXTERNAL |\r\n| [`useRouteParams`](references\u002FuseRouteParams.md) | Shorthand for a reactive `route.params` | EXTERNAL |\r\n| [`useRouteQuery`](references\u002FuseRouteQuery.md) | Shorthand for a reactive `route.query` | EXTERNAL |\r\n\r\n### @RxJS\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`from`](references\u002Ffrom.md) | Wrappers around RxJS's [`from()`](https:\u002F\u002Frxjs.dev\u002Fapi\u002Findex\u002Ffunction\u002Ffrom) and [`fromEvent()`](https:\u002F\u002Frxjs.dev\u002Fapi\u002Findex\u002Ffunction\u002FfromEvent) to allow them to accept `ref`s | EXTERNAL |\r\n| [`toObserver`](references\u002FtoObserver.md) | Sugar function to convert a `ref` into an RxJS [Observer](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fobserver) | EXTERNAL |\r\n| [`useExtractedObservable`](references\u002FuseExtractedObservable.md) | Use an RxJS [`Observable`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fobservable) as extracted from one or more composables | EXTERNAL |\r\n| [`useObservable`](references\u002FuseObservable.md) | Use an RxJS [`Observable`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fobservable) | EXTERNAL |\r\n| [`useSubject`](references\u002FuseSubject.md) | Bind an RxJS [`Subject`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fsubject) to a `ref` and propagate value changes both ways | EXTERNAL |\r\n| [`useSubscription`](references\u002FuseSubscription.md) | Use an RxJS [`Subscription`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fsubscription) without worrying about unsubscribing from it or creating memory leaks | EXTERNAL |\r\n| [`watchExtractedObservable`](references\u002FwatchExtractedObservable.md) | Watch the values of an RxJS [`Observable`](https:\u002F\u002Frxjs.dev\u002Fguide\u002Fobservable) as extracted from one or more composables | EXTERNAL |\r\n\r\n### @SchemaOrg\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`createSchemaOrg`](https:\u002F\u002Fvue-schema-org.netlify.app\u002Fapi\u002Fcore\u002Fcreate-schema-org.html) | Create the schema.org manager instance. | EXTERNAL |\r\n| [`useSchemaOrg`](https:\u002F\u002Fvue-schema-org.netlify.app\u002Fapi\u002Fcore\u002Fuse-schema-org.html) | Update schema.org reactively. | EXTERNAL |\r\n\r\n### @Sound\r\n\r\n| Function | Description | Invocation |\r\n|----------|-------------|------------|\r\n| [`useSound`](https:\u002F\u002Fgithub.com\u002Fvueuse\u002Fsound#examples) | Play sound effects reactively. | EXTERNAL |\r\n",{"name":5,"license":15,"metadata":38,"description":7,"compatibility":41},{"author":39,"version":40},"SerKo \u003Chttps:\u002F\u002Fgithub.com\u002Fserkodev>","1.0","Requires Vue 3 (or above) or Nuxt 3 (or above) project","main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F13\u002F1346da238bbabcc3985d0275da2763b1b406c92eca7b4964b5bd6ef322fe85b3",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add zapabob\u002FSkills --skill vueuse-functions",{"tool":56,"command":57},"bunx","bunx skills add zapabob\u002FSkills --skill vueuse-functions",{"tool":59,"command":60},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill vueuse-functions","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F13\u002F1346da238bbabcc3985d0275da2763b1b406c92eca7b4964b5bd6ef322fe85b3\u002FSKILL.md",true,[],[65,99,134,161,188,205],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":82,"publishedAt":33},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[71,74,77],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":75,"categoryName":76,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[67,83,84,85,26,86,87,88,89,27,90,91,92,93,94,95,42,96,97,98],"openclaw","macos","cli","linux","windows","official","search","social-media","api","Media","hermes","hermes agent","twitter","social","via","post",{"skillNo":100,"name":101,"nameZh":6,"description":102,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":116,"publishedAt":33},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[105,108,111,112,113],{"categoryNo":106,"categoryName":107,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":109,"categoryName":110,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":75,"categoryName":76,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},{"categoryNo":114,"categoryName":115,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000036","内容创作者",[117,118,119,120,84,121,86,122,87,123,124,125,126,127,128,129,130,131,132,133],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":143,"publishedAt":33},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[140],{"categoryNo":141,"categoryName":142,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[136,84,86,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":162,"name":163,"nameZh":6,"description":164,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":170,"publishedAt":33},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[167],{"categoryNo":168,"categoryName":169,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000013","分析与可视化",[171,84,172,173,87,174,175,176,177,178,179,151,180,181,182,183,184,185,186,187],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":195,"publishedAt":33},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[194],{"categoryNo":75,"categoryName":76,"taxonomyType":21,"taxonomyTypeDesc":22},[190,84,196,26,86,197,198,199,200,201,202,93,94,203,204],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":206,"name":207,"nameZh":6,"description":208,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":209,"categories":210,"keywords":213,"publishedAt":33},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[211,212],{"categoryNo":72,"categoryName":73,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},[214,215,216,86,217,144,218,219,220,147,221,91,222,223,224,225,226,227,228,229],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]