{"id":"b047ccb9-8bda-42a0-a626-9e0174d6ab23","shortId":"aZSvD4","kind":"skill","title":"Vueuse Functions","tagline":"Skills skill by Antfu","description":"# VueUse Functions\n\nThis skill is a decision-and-implementation guide for VueUse composables in Vue.js / 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.\n\n## When to Apply\n\n- Apply this skill whenever assisting user development work in Vue.js / Nuxt.\n- Always check first whether a VueUse function can implement the requirement.\n- Prefer VueUse composables over custom code to improve readability, maintainability, and performance.\n- Map requirements to the most appropriate VueUse function and follow the function’s invocation rule.\n- Please refer to the `Invocation` field in the below functions table. For example:\n  - `AUTO`: Use automatically when applicable.\n  - `EXTERNAL`: Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.\n  - `EXPLICIT_ONLY`: Use only when explicitly requested by the user.\n  > *NOTE* User instructions in the prompt or `AGENTS.md` may override a function’s default `Invocation` rule.\n\n## Functions\n\nAll functions listed below are part of the [VueUse](https://vueuse.org/) library, each section categorizes functions based on their functionality.\n\nIMPORTANT: Each function entry includes a short `Description` and a detailed `Reference`. When using any function, always consult the corresponding document in `./references` for Usage details and Type Declarations.\n\n### State\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`createGlobalState`](references/createGlobalState.md) | Keep states in the global scope to be reusable across Vue instances | AUTO |\n| [`createInjectionState`](references/createInjectionState.md) | Create global state that can be injected into components | AUTO |\n| [`createSharedComposable`](references/createSharedComposable.md) | Make a composable function usable with multiple Vue instances | AUTO |\n| [`injectLocal`](references/injectLocal.md) | Extended `inject` with ability to call `provideLocal` to provide the value in the same component | AUTO |\n| [`provideLocal`](references/provideLocal.md) | Extended `provide` with ability to call `injectLocal` to obtain the value in the same component | AUTO |\n| [`useAsyncState`](references/useAsyncState.md) | Reactive async state | AUTO |\n| [`useDebouncedRefHistory`](references/useDebouncedRefHistory.md) | Shorthand for `useRefHistory` with debounced filter | AUTO |\n| [`useLastChanged`](references/useLastChanged.md) | Records the timestamp of the last change | AUTO |\n| [`useLocalStorage`](references/useLocalStorage.md) | Reactive [LocalStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) | AUTO |\n| [`useManualRefHistory`](references/useManualRefHistory.md) | Manually track the change history of a ref when the using calls `commit()` | AUTO |\n| [`useRefHistory`](references/useRefHistory.md) | Track the change history of a ref | AUTO |\n| [`useSessionStorage`](references/useSessionStorage.md) | Reactive [SessionStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage) | AUTO |\n| [`useStorage`](references/useStorage.md) | Create a reactive ref that can be used to access & modify [LocalStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) or [SessionStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage) | AUTO |\n| [`useStorageAsync`](references/useStorageAsync.md) | Reactive Storage in with async support | AUTO |\n| [`useThrottledRefHistory`](references/useThrottledRefHistory.md) | Shorthand for `useRefHistory` with throttled filter | AUTO |\n\n### Elements\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useActiveElement`](references/useActiveElement.md) | Reactive `document.activeElement` | AUTO |\n| [`useDocumentVisibility`](references/useDocumentVisibility.md) | Reactively track [`document.visibilityState`](https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState) | AUTO |\n| [`useDraggable`](references/useDraggable.md) | Make elements draggable | AUTO |\n| [`useDropZone`](references/useDropZone.md) | Create a zone where files can be dropped | AUTO |\n| [`useElementBounding`](references/useElementBounding.md) | Reactive [bounding box](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect) of an HTML element | AUTO |\n| [`useElementSize`](references/useElementSize.md) | Reactive size of an HTML element | AUTO |\n| [`useElementVisibility`](references/useElementVisibility.md) | Tracks the visibility of an element within the viewport | AUTO |\n| [`useIntersectionObserver`](references/useIntersectionObserver.md) | Detects that a target element's visibility | AUTO |\n| [`useMouseInElement`](references/useMouseInElement.md) | Reactive mouse position related to an element | AUTO |\n| [`useMutationObserver`](references/useMutationObserver.md) | Watch for changes being made to the DOM tree | AUTO |\n| [`useParentElement`](references/useParentElement.md) | Get parent element of the given element | AUTO |\n| [`useResizeObserver`](references/useResizeObserver.md) | Reports changes to the dimensions of an Element's content or the border-box | AUTO |\n| [`useWindowFocus`](references/useWindowFocus.md) | Reactively track window focus with `window.onfocus` and `window.onblur` events | AUTO |\n| [`useWindowScroll`](references/useWindowScroll.md) | Reactive window scroll | AUTO |\n| [`useWindowSize`](references/useWindowSize.md) | Reactive window size | AUTO |\n\n### Browser\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useBluetooth`](references/useBluetooth.md) | Reactive [Web Bluetooth API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API) | AUTO |\n| [`useBreakpoints`](references/useBreakpoints.md) | Reactive viewport breakpoints | AUTO |\n| [`useBroadcastChannel`](references/useBroadcastChannel.md) | Reactive [BroadcastChannel API](https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel) | AUTO |\n| [`useBrowserLocation`](references/useBrowserLocation.md) | Reactive browser location | AUTO |\n| [`useClipboard`](references/useClipboard.md) | Reactive [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API) | AUTO |\n| [`useClipboardItems`](references/useClipboardItems.md) | Reactive [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API) | AUTO |\n| [`useColorMode`](references/useColorMode.md) | Reactive color mode (dark / light / customs) with auto data persistence | AUTO |\n| [`useCssSupports`](references/useCssSupports.md) | SSR compatible and reactive [`CSS.supports`](https://developer.mozilla.org/docs/Web/API/CSS/supports_static) | AUTO |\n| [`useCssVar`](references/useCssVar.md) | Manipulate CSS variables | AUTO |\n| [`useDark`](references/useDark.md) | Reactive dark mode with auto data persistence | AUTO |\n| [`useEventListener`](references/useEventListener.md) | Use EventListener with ease | AUTO |\n| [`useEyeDropper`](references/useEyeDropper.md) | Reactive [EyeDropper API](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper_API) | AUTO |\n| [`useFavicon`](references/useFavicon.md) | Reactive favicon | AUTO |\n| [`useFileDialog`](references/useFileDialog.md) | Open file dialog with ease | AUTO |\n| [`useFileSystemAccess`](references/useFileSystemAccess.md) | Create and read and write local files with [FileSystemAccessAPI](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API) | AUTO |\n| [`useFullscreen`](references/useFullscreen.md) | Reactive [Fullscreen API](https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API) | AUTO |\n| [`useGamepad`](references/useGamepad.md) | Provides reactive bindings for the [Gamepad API](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API) | AUTO |\n| [`useImage`](references/useImage.md) | Reactive load an image in the browser | AUTO |\n| [`useMediaControls`](references/useMediaControls.md) | Reactive media controls for both `audio` and `video` elements | AUTO |\n| [`useMediaQuery`](references/useMediaQuery.md) | Reactive [Media Query](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Testing_media_queries) | AUTO |\n| [`useMemory`](references/useMemory.md) | Reactive Memory Info | AUTO |\n| [`useObjectUrl`](references/useObjectUrl.md) | Reactive URL representing an object | AUTO |\n| [`usePerformanceObserver`](references/usePerformanceObserver.md) | Observe performance metrics | AUTO |\n| [`usePermission`](references/usePermission.md) | Reactive [Permissions API](https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API) | AUTO |\n| [`usePreferredColorScheme`](references/usePreferredColorScheme.md) | Reactive [prefers-color-scheme](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme) media query | AUTO |\n| [`usePreferredContrast`](references/usePreferredContrast.md) | Reactive [prefers-contrast](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast) media query | AUTO |\n| [`usePreferredDark`](references/usePreferredDark.md) | Reactive dark theme preference | AUTO |\n| [`usePreferredLanguages`](references/usePreferredLanguages.md) | Reactive [Navigator Languages](https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/languages) | AUTO |\n| [`usePreferredReducedMotion`](references/usePreferredReducedMotion.md) | Reactive [prefers-reduced-motion](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion) media query | AUTO |\n| [`usePreferredReducedTransparency`](references/usePreferredReducedTransparency.md) | Reactive [prefers-reduced-transparency](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency) media query | AUTO |\n| [`useScreenOrientation`](references/useScreenOrientation.md) | Reactive [Screen Orientation API](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Orientation_API) | AUTO |\n| [`useScreenSafeArea`](references/useScreenSafeArea.md) | Reactive `env(safe-area-inset-*)` | AUTO |\n| [`useScriptTag`](references/useScriptTag.md) | Creates a script tag | AUTO |\n| [`useShare`](references/useShare.md) | Reactive [Web Share API](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/share) | AUTO |\n| [`useSSRWidth`](references/useSSRWidth.md) | Used to set a global viewport width which will be used when rendering SSR components that rely on the viewport width like [`useMediaQuery`](../useMediaQuery/index.md) or [`useBreakpoints`](../useBreakpoints/index.md) | AUTO |\n| [`useStyleTag`](references/useStyleTag.md) | Inject reactive `style` element in head | AUTO |\n| [`useTextareaAutosize`](references/useTextareaAutosize.md) | Automatically update the height of a textarea depending on the content | AUTO |\n| [`useTextDirection`](references/useTextDirection.md) | Reactive [dir](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/dir) of the element's text | AUTO |\n| [`useTitle`](references/useTitle.md) | Reactive document title | AUTO |\n| [`useUrlSearchParams`](references/useUrlSearchParams.md) | Reactive [URLSearchParams](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams) | AUTO |\n| [`useVibrate`](references/useVibrate.md) | Reactive [Vibration API](https://developer.mozilla.org/en-US/docs/Web/API/Vibration_API) | AUTO |\n| [`useWakeLock`](references/useWakeLock.md) | Reactive [Screen Wake Lock API](https://developer.mozilla.org/en-US/docs/Web/API/Screen_Wake_Lock_API) | AUTO |\n| [`useWebNotification`](references/useWebNotification.md) | Reactive [Notification](https://developer.mozilla.org/en-US/docs/Web/API/notification) | AUTO |\n| [`useWebWorker`](references/useWebWorker.md) | Simple [Web Workers](https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers) registration and communication | AUTO |\n| [`useWebWorkerFn`](references/useWebWorkerFn.md) | Run expensive functions without blocking the UI | AUTO |\n\n### Sensors\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`onClickOutside`](references/onClickOutside.md) | Listen for clicks outside of an element | AUTO |\n| [`onElementRemoval`](references/onElementRemoval.md) | Fires when the element or any element containing it is removed from the DOM | AUTO |\n| [`onKeyStroke`](references/onKeyStroke.md) | Listen for keyboard keystrokes | AUTO |\n| [`onLongPress`](references/onLongPress.md) | Listen for a long press on an element | AUTO |\n| [`onStartTyping`](references/onStartTyping.md) | Fires when users start typing on non-editable elements | AUTO |\n| [`useBattery`](references/useBattery.md) | Reactive [Battery Status API](https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API) | AUTO |\n| [`useDeviceMotion`](references/useDeviceMotion.md) | Reactive [DeviceMotionEvent](https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotionEvent) | AUTO |\n| [`useDeviceOrientation`](references/useDeviceOrientation.md) | Reactive [DeviceOrientationEvent](https://developer.mozilla.org/en-US/docs/Web/API/DeviceOrientationEvent) | AUTO |\n| [`useDevicePixelRatio`](references/useDevicePixelRatio.md) | Reactively track [`window.devicePixelRatio`](https://developer.mozilla.org/docs/Web/API/Window/devicePixelRatio) | AUTO |\n| [`useDevicesList`](references/useDevicesList.md) | Reactive [enumerateDevices](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices) listing available input/output devices | AUTO |\n| [`useDisplayMedia`](references/useDisplayMedia.md) | Reactive [`mediaDevices.getDisplayMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia) streaming | AUTO |\n| [`useElementByPoint`](references/useElementByPoint.md) | Reactive element by point | AUTO |\n| [`useElementHover`](references/useElementHover.md) | Reactive element's hover state | AUTO |\n| [`useFocus`](references/useFocus.md) | Reactive utility to track or set the focus state of a DOM element | AUTO |\n| [`useFocusWithin`](references/useFocusWithin.md) | Reactive utility to track if an element or one of its decendants has focus | AUTO |\n| [`useFps`](references/useFps.md) | Reactive FPS (frames per second) | AUTO |\n| [`useGeolocation`](references/useGeolocation.md) | Reactive [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API) | AUTO |\n| [`useIdle`](references/useIdle.md) | Tracks whether the user is being inactive | AUTO |\n| [`useInfiniteScroll`](references/useInfiniteScroll.md) | Infinite scrolling of the element | AUTO |\n| [`useKeyModifier`](references/useKeyModifier.md) | Reactive [Modifier State](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState) | AUTO |\n| [`useMagicKeys`](references/useMagicKeys.md) | Reactive keys pressed state | AUTO |\n| [`useMouse`](references/useMouse.md) | Reactive mouse position | AUTO |\n| [`useMousePressed`](references/useMousePressed.md) | Reactive mouse pressing state | AUTO |\n| [`useNavigatorLanguage`](references/useNavigatorLanguage.md) | Reactive [navigator.language](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language) | AUTO |\n| [`useNetwork`](references/useNetwork.md) | Reactive [Network status](https://developer.mozilla.org/en-US/docs/Web/API/Network_Information_API) | AUTO |\n| [`useOnline`](references/useOnline.md) | Reactive online state | AUTO |\n| [`usePageLeave`](references/usePageLeave.md) | Reactive state to show whether the mouse leaves the page | AUTO |\n| [`useParallax`](references/useParallax.md) | Create parallax effect easily | AUTO |\n| [`usePointer`](references/usePointer.md) | Reactive [pointer state](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events) | AUTO |\n| [`usePointerLock`](references/usePointerLock.md) | Reactive [pointer lock](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API) | AUTO |\n| [`usePointerSwipe`](references/usePointerSwipe.md) | Reactive swipe detection based on [PointerEvents](https://developer.mozilla.org/en-US/docs/Web/API/PointerEvent) | AUTO |\n| [`useScroll`](references/useScroll.md) | Reactive scroll position and state | AUTO |\n| [`useScrollLock`](references/useScrollLock.md) | Lock scrolling of the element | AUTO |\n| [`useSpeechRecognition`](references/useSpeechRecognition.md) | Reactive [SpeechRecognition](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition) | AUTO |\n| [`useSpeechSynthesis`](references/useSpeechSynthesis.md) | Reactive [SpeechSynthesis](https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis) | AUTO |\n| [`useSwipe`](references/useSwipe.md) | Reactive swipe detection based on [`TouchEvents`](https://developer.mozilla.org/en-US/docs/Web/API/TouchEvent) | AUTO |\n| [`useTextSelection`](references/useTextSelection.md) | Reactively track user text selection based on [`Window.getSelection`](https://developer.mozilla.org/en-US/docs/Web/API/Window/getSelection) | AUTO |\n| [`useUserMedia`](references/useUserMedia.md) | Reactive [`mediaDevices.getUserMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia) streaming | AUTO |\n\n### Network\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useEventSource`](references/useEventSource.md) | An [EventSource](https://developer.mozilla.org/en-US/docs/Web/API/EventSource) or [Server-Sent-Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events) instance opens a persistent connection to an HTTP server | AUTO |\n| [`useFetch`](references/useFetch.md) | Reactive [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) provides the ability to abort requests | AUTO |\n| [`useWebSocket`](references/useWebSocket.md) | Reactive [WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket/WebSocket) client | AUTO |\n\n### Animation\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useAnimate`](references/useAnimate.md) | Reactive [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API) | AUTO |\n| [`useInterval`](references/useInterval.md) | Reactive counter that increases on every interval | AUTO |\n| [`useIntervalFn`](references/useIntervalFn.md) | Wrapper for `setInterval` with controls | AUTO |\n| [`useNow`](references/useNow.md) | Reactive current Date instance | AUTO |\n| [`useRafFn`](references/useRafFn.md) | Call function on every `requestAnimationFrame` | AUTO |\n| [`useTimeout`](references/useTimeout.md) | Reactive value that becomes `true` after a given time | AUTO |\n| [`useTimeoutFn`](references/useTimeoutFn.md) | Wrapper for `setTimeout` with controls | AUTO |\n| [`useTimestamp`](references/useTimestamp.md) | Reactive current timestamp | AUTO |\n| [`useTransition`](references/useTransition.md) | Transition between values | AUTO |\n\n### Component\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`computedInject`](references/computedInject.md) | Combine `computed` and `inject` | AUTO |\n| [`createReusableTemplate`](references/createReusableTemplate.md) | Define and reuse template inside the component scope | AUTO |\n| [`createTemplatePromise`](references/createTemplatePromise.md) | Template as Promise | AUTO |\n| [`templateRef`](references/templateRef.md) | Shorthand for binding ref to template element | AUTO |\n| [`tryOnBeforeMount`](references/tryOnBeforeMount.md) | Safe `onBeforeMount` | AUTO |\n| [`tryOnBeforeUnmount`](references/tryOnBeforeUnmount.md) | Safe `onBeforeUnmount` | AUTO |\n| [`tryOnMounted`](references/tryOnMounted.md) | Safe `onMounted` | AUTO |\n| [`tryOnScopeDispose`](references/tryOnScopeDispose.md) | Safe `onScopeDispose` | AUTO |\n| [`tryOnUnmounted`](references/tryOnUnmounted.md) | Safe `onUnmounted` | AUTO |\n| [`unrefElement`](references/unrefElement.md) | Retrieves the underlying DOM element from a Vue ref or component instance | AUTO |\n| [`useCurrentElement`](references/useCurrentElement.md) | Get the DOM element of current component as a ref | AUTO |\n| [`useMounted`](references/useMounted.md) | Mounted state in ref | AUTO |\n| [`useTemplateRefsList`](references/useTemplateRefsList.md) | Shorthand for binding refs to template elements and components inside `v-for` | AUTO |\n| [`useVirtualList`](references/useVirtualList.md) | Create virtual lists with ease | AUTO |\n| [`useVModel`](references/useVModel.md) | Shorthand for v-model binding | AUTO |\n| [`useVModels`](references/useVModels.md) | Shorthand for props v-model binding | AUTO |\n\n### Watch\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`until`](references/until.md) | Promised one-time watch for changes | AUTO |\n| [`watchArray`](references/watchArray.md) | Watch for an array with additions and removals | AUTO |\n| [`watchAtMost`](references/watchAtMost.md) | `watch` with the number of times triggered | AUTO |\n| [`watchDebounced`](references/watchDebounced.md) | Debounced watch | AUTO |\n| [`watchDeep`](references/watchDeep.md) | Shorthand for watching value with `{deep: true}` | AUTO |\n| [`watchIgnorable`](references/watchIgnorable.md) | Ignorable watch | AUTO |\n| [`watchImmediate`](references/watchImmediate.md) | Shorthand for watching value with `{immediate: true}` | AUTO |\n| [`watchOnce`](references/watchOnce.md) | Shorthand for watching value with `{ once: true }` | AUTO |\n| [`watchPausable`](references/watchPausable.md) | Pausable watch | AUTO |\n| [`watchThrottled`](references/watchThrottled.md) | Throttled watch | AUTO |\n| [`watchTriggerable`](references/watchTriggerable.md) | Watch that can be triggered manually | AUTO |\n| [`watchWithFilter`](references/watchWithFilter.md) | `watch` with additional EventFilter control | AUTO |\n| [`whenever`](references/whenever.md) | Shorthand for watching value to be truthy | AUTO |\n\n### Reactivity\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`computedAsync`](references/computedAsync.md) | Computed for async functions | AUTO |\n| [`computedEager`](references/computedEager.md) | Eager computed without lazy evaluation | AUTO |\n| [`computedWithControl`](references/computedWithControl.md) | Explicitly define the dependencies of computed | AUTO |\n| [`createRef`](references/createRef.md) | Returns a `deepRef` or `shallowRef` depending on the `deep` param | AUTO |\n| [`extendRef`](references/extendRef.md) | Add extra attributes to Ref | AUTO |\n| [`reactify`](references/reactify.md) | Converts plain functions into reactive functions | AUTO |\n| [`reactifyObject`](references/reactifyObject.md) | Apply `reactify` to an object | AUTO |\n| [`reactiveComputed`](references/reactiveComputed.md) | Computed reactive object | AUTO |\n| [`reactiveOmit`](references/reactiveOmit.md) | Reactively omit fields from a reactive object | AUTO |\n| [`reactivePick`](references/reactivePick.md) | Reactively pick fields from a reactive object | AUTO |\n| [`refAutoReset`](references/refAutoReset.md) | A ref which will be reset to the default value after some time | AUTO |\n| [`refDebounced`](references/refDebounced.md) | Debounce execution of a ref value | AUTO |\n| [`refDefault`](references/refDefault.md) | Apply default value to a ref | AUTO |\n| [`refManualReset`](references/refManualReset.md) | Create a ref with manual reset functionality | AUTO |\n| [`refThrottled`](references/refThrottled.md) | Throttle changing of a ref value | AUTO |\n| [`refWithControl`](references/refWithControl.md) | Fine-grained controls over ref and its reactivity | AUTO |\n| [`syncRef`](references/syncRef.md) | Two-way refs synchronization | AUTO |\n| [`syncRefs`](references/syncRefs.md) | Keep target refs in sync with a source ref | AUTO |\n| [`toReactive`](references/toReactive.md) | Converts ref to reactive | AUTO |\n| [`toRef`](references/toRef.md) | Normalize value/ref/getter to `ref` or `computed` | EXPLICIT_ONLY |\n| [`toRefs`](references/toRefs.md) | Extended [`toRefs`](https://vuejs.org/api/reactivity-utilities.html#torefs) that also accepts refs of an object | AUTO |\n\n### Array\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useArrayDifference`](references/useArrayDifference.md) | Reactive get array difference of two arrays | AUTO |\n| [`useArrayEvery`](references/useArrayEvery.md) | Reactive `Array.every` | AUTO |\n| [`useArrayFilter`](references/useArrayFilter.md) | Reactive `Array.filter` | AUTO |\n| [`useArrayFind`](references/useArrayFind.md) | Reactive `Array.find` | AUTO |\n| [`useArrayFindIndex`](references/useArrayFindIndex.md) | Reactive `Array.findIndex` | AUTO |\n| [`useArrayFindLast`](references/useArrayFindLast.md) | Reactive `Array.findLast` | AUTO |\n| [`useArrayIncludes`](references/useArrayIncludes.md) | Reactive `Array.includes` | AUTO |\n| [`useArrayJoin`](references/useArrayJoin.md) | Reactive `Array.join` | AUTO |\n| [`useArrayMap`](references/useArrayMap.md) | Reactive `Array.map` | AUTO |\n| [`useArrayReduce`](references/useArrayReduce.md) | Reactive `Array.reduce` | AUTO |\n| [`useArraySome`](references/useArraySome.md) | Reactive `Array.some` | AUTO |\n| [`useArrayUnique`](references/useArrayUnique.md) | Reactive unique array | AUTO |\n| [`useSorted`](references/useSorted.md) | Reactive sort array | AUTO |\n\n### Time\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useCountdown`](references/useCountdown.md) | Reactive countdown timer in seconds | AUTO |\n| [`useDateFormat`](references/useDateFormat.md) | Get the formatted date according to the string of tokens passed in | AUTO |\n| [`useTimeAgo`](references/useTimeAgo.md) | Reactive time ago | AUTO |\n| [`useTimeAgoIntl`](references/useTimeAgoIntl.md) | Reactive time ago with i18n supported | AUTO |\n\n### Utilities\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`createEventHook`](references/createEventHook.md) | Utility for creating event hooks | AUTO |\n| [`createUnrefFn`](references/createUnrefFn.md) | Make a plain function accepting ref and raw values as arguments | AUTO |\n| [`get`](references/get.md) | Shorthand for accessing `ref.value` | EXPLICIT_ONLY |\n| [`isDefined`](references/isDefined.md) | Non-nullish checking type guard for Ref | AUTO |\n| [`makeDestructurable`](references/makeDestructurable.md) | Make isomorphic destructurable for object and array at the same time | AUTO |\n| [`set`](references/set.md) | Shorthand for `ref.value = x` | EXPLICIT_ONLY |\n| [`useAsyncQueue`](references/useAsyncQueue.md) | Executes each asynchronous task sequentially and passes the current task result to the next task | AUTO |\n| [`useBase64`](references/useBase64.md) | Reactive base64 transforming | AUTO |\n| [`useCached`](references/useCached.md) | Cache a ref with a custom comparator | AUTO |\n| [`useCloned`](references/useCloned.md) | Reactive clone of a ref | AUTO |\n| [`useConfirmDialog`](references/useConfirmDialog.md) | Creates event hooks to support modals and confirmation dialog chains | AUTO |\n| [`useCounter`](references/useCounter.md) | Basic counter with utility functions | AUTO |\n| [`useCycleList`](references/useCycleList.md) | Cycle through a list of items | AUTO |\n| [`useDebounceFn`](references/useDebounceFn.md) | Debounce execution of a function | AUTO |\n| [`useEventBus`](references/useEventBus.md) | A basic event bus | AUTO |\n| [`useMemoize`](references/useMemoize.md) | Cache results of functions depending on arguments and keep it reactive | AUTO |\n| [`useOffsetPagination`](references/useOffsetPagination.md) | Reactive offset pagination | AUTO |\n| [`usePrevious`](references/usePrevious.md) | Holds the previous value of a ref | AUTO |\n| [`useStepper`](references/useStepper.md) | Provides helpers for building a multi-step wizard interface | AUTO |\n| [`useSupported`](references/useSupported.md) | SSR compatibility `isSupported` | AUTO |\n| [`useThrottleFn`](references/useThrottleFn.md) | Throttle execution of a function | AUTO |\n| [`useTimeoutPoll`](references/useTimeoutPoll.md) | Use timeout to poll something | AUTO |\n| [`useToggle`](references/useToggle.md) | A boolean switcher with utility functions | AUTO |\n| [`useToNumber`](references/useToNumber.md) | Reactively convert a string ref to number | AUTO |\n| [`useToString`](references/useToString.md) | Reactively convert a ref to string | AUTO |\n\n### @Electron\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useIpcRenderer`](references/useIpcRenderer.md) | Provides [ipcRenderer](https://www.electronjs.org/docs/api/ipc-renderer) and all of its APIs with Vue reactivity | EXTERNAL |\n| [`useIpcRendererInvoke`](references/useIpcRendererInvoke.md) | Reactive [ipcRenderer.invoke API](https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererinvokechannel-args) result | EXTERNAL |\n| [`useIpcRendererOn`](references/useIpcRendererOn.md) | Use [ipcRenderer.on](https://www.electronjs.org/docs/api/ipc-renderer#ipcrendereronchannel-listener) with ease and [ipcRenderer.removeListener](https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererremovelistenerchannel-listener) automatically on unmounted | EXTERNAL |\n| [`useZoomFactor`](references/useZoomFactor.md) | Reactive [WebFrame](https://www.electronjs.org/docs/api/web-frame#webframe) zoom factor | EXTERNAL |\n| [`useZoomLevel`](references/useZoomLevel.md) | Reactive [WebFrame](https://www.electronjs.org/docs/api/web-frame#webframe) zoom level | EXTERNAL |\n\n### @Firebase\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useAuth`](references/useAuth.md) | Reactive [Firebase Auth](https://firebase.google.com/docs/auth) binding | EXTERNAL |\n| [`useFirestore`](references/useFirestore.md) | Reactive [Firestore](https://firebase.google.com/docs/firestore) binding | EXTERNAL |\n| [`useRTDB`](references/useRTDB.md) | Reactive [Firebase Realtime Database](https://firebase.google.com/docs/database) binding | EXTERNAL |\n\n### @Head\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`createHead`](https://github.com/vueuse/head#api) | Create the head manager instance. | EXTERNAL |\n| [`useHead`](https://github.com/vueuse/head#api) | Update head meta tags reactively. | EXTERNAL |\n\n### @Integrations\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useAsyncValidator`](references/useAsyncValidator.md) | Wrapper for [`async-validator`](https://github.com/yiminghe/async-validator) | EXTERNAL |\n| [`useAxios`](references/useAxios.md) | Wrapper for [`axios`](https://github.com/axios/axios) | EXTERNAL |\n| [`useChangeCase`](references/useChangeCase.md) | Reactive wrapper for [`change-case`](https://github.com/blakeembrey/change-case) | EXTERNAL |\n| [`useCookies`](references/useCookies.md) | Wrapper for [`universal-cookie`](https://www.npmjs.com/package/universal-cookie) | EXTERNAL |\n| [`useDrauu`](references/useDrauu.md) | Reactive instance for [drauu](https://github.com/antfu/drauu) | EXTERNAL |\n| [`useFocusTrap`](references/useFocusTrap.md) | Reactive wrapper for [`focus-trap`](https://github.com/focus-trap/focus-trap) | EXTERNAL |\n| [`useFuse`](references/useFuse.md) | Easily implement fuzzy search using a composable with [Fuse.js](https://github.com/krisk/fuse) | EXTERNAL |\n| [`useIDBKeyval`](references/useIDBKeyval.md) | Wrapper for [`idb-keyval`](https://www.npmjs.com/package/idb-keyval) | EXTERNAL |\n| [`useJwt`](references/useJwt.md) | Wrapper for [`jwt-decode`](https://github.com/auth0/jwt-decode) | EXTERNAL |\n| [`useNProgress`](references/useNProgress.md) | Reactive wrapper for [`nprogress`](https://github.com/rstacruz/nprogress) | EXTERNAL |\n| [`useQRCode`](references/useQRCode.md) | Wrapper for [`qrcode`](https://github.com/soldair/node-qrcode) | EXTERNAL |\n| [`useSortable`](references/useSortable.md) | Wrapper for [`sortable`](https://github.com/SortableJS/Sortable) | EXTERNAL |\n\n### @Math\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`createGenericProjection`](references/createGenericProjection.md) | Generic version of `createProjection` | EXTERNAL |\n| [`createProjection`](references/createProjection.md) | Reactive numeric projection from one domain to another | EXTERNAL |\n| [`logicAnd`](references/logicAnd.md) | `AND` condition for refs | EXTERNAL |\n| [`logicNot`](references/logicNot.md) | `NOT` condition for ref | EXTERNAL |\n| [`logicOr`](references/logicOr.md) | `OR` conditions for refs | EXTERNAL |\n| [`useAbs`](references/useAbs.md) | Reactive `Math.abs` | EXTERNAL |\n| [`useAverage`](references/useAverage.md) | Get the average of an array reactively | EXTERNAL |\n| [`useCeil`](references/useCeil.md) | Reactive `Math.ceil` | EXTERNAL |\n| [`useClamp`](references/useClamp.md) | Reactively clamp a value between two other values | EXTERNAL |\n| [`useFloor`](references/useFloor.md) | Reactive `Math.floor` | EXTERNAL |\n| [`useMath`](references/useMath.md) | Reactive `Math` methods | EXTERNAL |\n| [`useMax`](references/useMax.md) | Reactive `Math.max` | EXTERNAL |\n| [`useMin`](references/useMin.md) | Reactive `Math.min` | EXTERNAL |\n| [`usePrecision`](references/usePrecision.md) | Reactively set the precision of a number | EXTERNAL |\n| [`useProjection`](references/useProjection.md) | Reactive numeric projection from one domain to another | EXTERNAL |\n| [`useRound`](references/useRound.md) | Reactive `Math.round` | EXTERNAL |\n| [`useSum`](references/useSum.md) | Get the sum of an array reactively | EXTERNAL |\n| [`useTrunc`](references/useTrunc.md) | Reactive `Math.trunc` | EXTERNAL |\n\n### @Motion\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useElementStyle`](https://motion.vueuse.org/api/use-element-style) | Sync a reactive object to a target element CSS styling | EXTERNAL |\n| [`useElementTransform`](https://motion.vueuse.org/api/use-element-transform) | Sync a reactive object to a target element CSS transform. | EXTERNAL |\n| [`useMotion`](https://motion.vueuse.org/api/use-motion) | Putting your components in motion. | EXTERNAL |\n| [`useMotionProperties`](https://motion.vueuse.org/api/use-motion-properties) | Access Motion Properties for a target element. | EXTERNAL |\n| [`useMotionVariants`](https://motion.vueuse.org/api/use-motion-variants) | Handle the Variants state and selection. | EXTERNAL |\n| [`useSpring`](https://motion.vueuse.org/api/use-spring) | Spring animations. | EXTERNAL |\n\n### @Router\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useRouteHash`](references/useRouteHash.md) | Shorthand for a reactive `route.hash` | EXTERNAL |\n| [`useRouteParams`](references/useRouteParams.md) | Shorthand for a reactive `route.params` | EXTERNAL |\n| [`useRouteQuery`](references/useRouteQuery.md) | Shorthand for a reactive `route.query` | EXTERNAL |\n\n### @RxJS\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`from`](references/from.md) | Wrappers around RxJS's [`from()`](https://rxjs.dev/api/index/function/from) and [`fromEvent()`](https://rxjs.dev/api/index/function/fromEvent) to allow them to accept `ref`s | EXTERNAL |\n| [`toObserver`](references/toObserver.md) | Sugar function to convert a `ref` into an RxJS [Observer](https://rxjs.dev/guide/observer) | EXTERNAL |\n| [`useExtractedObservable`](references/useExtractedObservable.md) | Use an RxJS [`Observable`](https://rxjs.dev/guide/observable) as extracted from one or more composables | EXTERNAL |\n| [`useObservable`](references/useObservable.md) | Use an RxJS [`Observable`](https://rxjs.dev/guide/observable) | EXTERNAL |\n| [`useSubject`](references/useSubject.md) | Bind an RxJS [`Subject`](https://rxjs.dev/guide/subject) to a `ref` and propagate value changes both ways | EXTERNAL |\n| [`useSubscription`](references/useSubscription.md) | Use an RxJS [`Subscription`](https://rxjs.dev/guide/subscription) without worrying about unsubscribing from it or creating memory leaks | EXTERNAL |\n| [`watchExtractedObservable`](references/watchExtractedObservable.md) | Watch the values of an RxJS [`Observable`](https://rxjs.dev/guide/observable) as extracted from one or more composables | EXTERNAL |\n\n### @SchemaOrg\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`createSchemaOrg`](https://vue-schema-org.netlify.app/api/core/create-schema-org.html) | Create the schema.org manager instance. | EXTERNAL |\n| [`useSchemaOrg`](https://vue-schema-org.netlify.app/api/core/use-schema-org.html) | Update schema.org reactively. | EXTERNAL |\n\n### @Sound\n\n| Function | Description | Invocation |\n|----------|-------------|------------|\n| [`useSound`](https://github.com/vueuse/sound#examples) | Play sound effects reactively. | EXTERNAL |","tags":["vueuse","functions","skills","antfu"],"capabilities":["skill","source-antfu","category-skills"],"categories":["skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/antfu/skills/vueuse-functions","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under antfu/skills","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T00:40:11.285Z","embedding":null,"createdAt":"2026-04-18T20:24:39.165Z","updatedAt":"2026-04-24T00:40:11.285Z","lastSeenAt":"2026-04-24T00:40:11.285Z","tsv":"'/)':185 '/antfu/drauu)':2526 '/api/core/create-schema-org.html)':2979 '/api/core/use-schema-org.html)':2989 '/api/index/function/from)':2856 '/api/index/function/fromevent)':2861 '/api/reactivity-utilities.html#torefs)':1971 '/api/use-element-style)':2748 '/api/use-element-transform)':2763 '/api/use-motion)':2778 '/api/use-motion-properties)':2788 '/api/use-motion-variants)':2800 '/api/use-spring)':2811 '/auth0/jwt-decode)':2575 '/axios/axios)':2493 '/blakeembrey/change-case)':2505 '/docs/api/ipc-renderer#ipcrendererinvokechannel-args)':2372 '/docs/api/ipc-renderer#ipcrendereronchannel-listener)':2381 '/docs/api/ipc-renderer#ipcrendererremovelistenerchannel-listener)':2388 '/docs/api/ipc-renderer)':2355 '/docs/api/web-frame#webframe)':2399,2409 '/docs/auth)':2424 '/docs/database)':2444 '/docs/firestore)':2433 '/docs/web/api/css/supports_static)':639 '/docs/web/api/window/devicepixelratio)':1111 '/en-us/docs/web/api/battery_status_api)':1086 '/en-us/docs/web/api/broadcastchannel)':591 '/en-us/docs/web/api/clipboard_api)':606,615 '/en-us/docs/web/api/devicemotionevent)':1094 '/en-us/docs/web/api/deviceorientationevent)':1102 '/en-us/docs/web/api/document/visibilitystate)':427 '/en-us/docs/web/api/element/getboundingclientrect)':453 '/en-us/docs/web/api/eventsource)':1396 '/en-us/docs/web/api/eyedropper_api)':671 '/en-us/docs/web/api/fetch_api)':1422 '/en-us/docs/web/api/file_system_access_api)':699 '/en-us/docs/web/api/fullscreen_api)':708 '/en-us/docs/web/api/gamepad_api)':721 '/en-us/docs/web/api/geolocation_api)':1197 '/en-us/docs/web/api/keyboardevent/getmodifierstate)':1224 '/en-us/docs/web/api/mediadevices/enumeratedevices)':1119 '/en-us/docs/web/api/mediadevices/getdisplaymedia)':1131 '/en-us/docs/web/api/mediadevices/getusermedia)':1383 '/en-us/docs/web/api/navigator/language)':1252 '/en-us/docs/web/api/navigator/share)':884 '/en-us/docs/web/api/navigatorlanguage/languages)':822 '/en-us/docs/web/api/network_information_api)':1261 '/en-us/docs/web/api/notification)':992 '/en-us/docs/web/api/permissions_api)':781 '/en-us/docs/web/api/pointer_events)':1296 '/en-us/docs/web/api/pointer_lock_api)':1305 '/en-us/docs/web/api/pointerevent)':1317 '/en-us/docs/web/api/screen_orientation_api)':858 '/en-us/docs/web/api/screen_wake_lock_api)':984 '/en-us/docs/web/api/server-sent_events)':1404 '/en-us/docs/web/api/speechrecognition)':1341 '/en-us/docs/web/api/speechsynthesis)':1349 '/en-us/docs/web/api/touchevent)':1361 '/en-us/docs/web/api/urlsearchparams)':964 '/en-us/docs/web/api/vibration_api)':973 '/en-us/docs/web/api/web_animations_api)':1451 '/en-us/docs/web/api/web_bluetooth_api)':576 '/en-us/docs/web/api/web_workers_api/using_web_workers)':1001 '/en-us/docs/web/api/websocket/websocket)':1436 '/en-us/docs/web/api/window/getselection)':1375 '/en-us/docs/web/api/window/localstorage)':334,386 '/en-us/docs/web/api/window/sessionstorage)':368,391 '/en-us/docs/web/css/@media/prefers-color-scheme)':792 '/en-us/docs/web/css/@media/prefers-contrast)':804 '/en-us/docs/web/css/@media/prefers-reduced-motion)':833 '/en-us/docs/web/css/@media/prefers-reduced-transparency)':846 '/en-us/docs/web/css/media_queries/testing_media_queries)':752 '/en-us/docs/web/html/global_attributes/dir)':945 '/focus-trap/focus-trap)':2538 '/guide/observable)':2894,2911,2963 '/guide/observer)':2884 '/guide/subject)':2921 '/guide/subscription)':2940 '/krisk/fuse)':2553 '/package/idb-keyval)':2564 '/package/universal-cookie)':2516 '/references':217 '/rstacruz/nprogress)':2585 '/soldair/node-qrcode)':2594 '/sortablejs/sortable)':2603 '/usebreakpoints/index.md':914 '/usemediaquery/index.md':911 '/vueuse/head#api)':2454,2464 '/vueuse/sound#examples)':3001 '/yiminghe/async-validator)':2484 'abil':272,290,1425 'abort':1427 'accept':1974,2116,2866 'access':381,2128,2789 'accord':2074 'across':239 'add':1814 'addit':1680,1757 'agents.md':164 'ago':2087,2093 'allow':2863 'alreadi':131 'also':1973 'alway':69,211 'anim':1439,1447,2813 'anoth':2625,2719 'antfu':6 'api':573,588,603,612,668,705,718,778,855,881,970,981,1083,1194,1419,1448,2360,2369 'appli':34,57,58,1831,1890 'applic':124 'appropri':97 'area':866 'argument':2122,2260 'around':2850 'array':1678,1980,1988,1992,2048,2054,2151,2660,2733 'array.every':1997 'array.filter':2002 'array.find':2007 'array.findindex':2012 'array.findlast':2017 'array.includes':2022 'array.join':2027 'array.map':2032 'array.reduce':2037 'array.some':2042 'ask':140 'assist':62 'async':306,399,1779,2480 'async-valid':2479 'asynchron':2169 'attribut':1816 'audio':740 'auth':2421 'auto':120,242,254,266,284,302,308,317,327,335,351,361,369,392,401,410,419,428,434,445,458,467,479,489,499,511,521,539,551,557,563,577,583,592,598,607,616,626,629,640,646,653,656,663,672,677,685,700,709,722,732,744,753,759,767,773,782,795,807,814,823,836,849,859,868,875,885,915,924,938,951,957,965,974,985,993,1005,1015,1029,1046,1053,1064,1077,1087,1095,1103,1112,1124,1133,1140,1148,1164,1181,1189,1198,1208,1216,1225,1232,1238,1245,1253,1262,1268,1281,1288,1297,1306,1318,1326,1334,1342,1350,1362,1376,1385,1414,1429,1438,1452,1462,1470,1477,1485,1497,1505,1511,1517,1528,1539,1545,1555,1560,1565,1570,1575,1580,1595,1608,1615,1631,1639,1648,1658,1672,1683,1693,1698,1708,1713,1723,1733,1738,1743,1752,1760,1770,1781,1789,1798,1811,1819,1828,1836,1842,1852,1862,1878,1887,1896,1906,1915,1927,1935,1947,1954,1979,1993,1998,2003,2008,2013,2018,2023,2028,2033,2038,2043,2049,2055,2067,2082,2088,2097,2109,2123,2142,2156,2182,2188,2198,2206,2219,2227,2236,2244,2251,2265,2271,2281,2294,2300,2308,2316,2325,2335,2344 'automat':122,927,2389 'avail':1121 'averag':2657 'axio':2490 'base':43,191,1312,1356,1370 'base64':2186 'basic':2222,2248 'batteri':1081 'becom':1491 'bespok':46 'bind':714,1550,1620,1647,1657,2425,2434,2445,2915 'block':1012 'bluetooth':572 'boolean':2320 'border':537 'border-box':536 'bound':449 'box':450,538 'breakpoint':582 'broadcastchannel':587 'browser':564,596,731 'build':2287 'bus':2250 'cach':2191,2254 'call':274,292,349,1480 'case':2502 'categor':189 'category-skills' 'chain':2218 'chang':326,341,356,504,525,1671,1910,2501,2928 'change-cas':2500 'check':70,2137 'clamp':2671 'click':1024 'client':1437 'clipboard':602,611 'clone':2202 'code':47,85 'color':620,788 'combin':1524 'commit':350 'communic':1004 'compar':2197 'compat':633,2298 'compon':253,283,301,902,1518,1537,1593,1604,1626,2781 'compos':20,42,82,259,2548,2901,2970 'composable-bas':41 'comput':1525,1777,1785,1797,1839,1962 'computedasync':1775 'computedeag':1782 'computedinject':1522 'computedwithcontrol':1790 'concis':51 'condit':2630,2637,2644 'confirm':2216 'connect':1409 'consult':212 'contain':1039 'content':533,937 'contrast':801 'control':737,1469,1504,1759,1921 'convert':1822,1950,2329,2339,2875 'cooki':2513 'correct':36 'correspond':214 'countdown':2063 'counter':1456,2223 'creat':245,372,437,688,871,1284,1634,1899,2106,2209,2455,2948,2980 'createeventhook':2102 'creategenericproject':2609 'createglobalst':228 'createhead':2451 'createinjectionst':243 'createproject':2614,2616 'createref':1799 'createreusabletempl':1529 'createschemaorg':2976 'createsharedcompos':255 'createtemplatepromis':1540 'createunreffn':2110 'css':644,2757,2772 'css.supports':636 'current':1474,1509,1603,2175 'custom':84,624,2196 'cycl':2230 'dark':622,650,811 'data':627,654 'databas':2441 'date':1475,2073 'debounc':315,1696,1881,2239 'decend':1178 'decis':14 'decision-and-implement':13 'declar':223 'decod':2572 'deep':1706,1809 'deepref':1803 'default':170,1873,1891 'defin':1531,1793 'depend':136,934,1795,1806,2258 'descript':202,226,413,566,1018,1388,1441,1520,1661,1773,1982,2058,2100,2347,2415,2449,2473,2607,2743,2817,2845,2974,2996 'destructur':2147 'detail':205,220 'detect':482,1311,1355 'develop':64 'developer.mozilla.org':333,367,385,390,426,452,575,590,605,614,638,670,698,707,720,751,780,791,803,821,832,845,857,883,944,963,972,983,991,1000,1085,1093,1101,1110,1118,1130,1196,1223,1251,1260,1295,1304,1316,1340,1348,1360,1374,1382,1395,1403,1421,1435,1450 'developer.mozilla.org/docs/web/api/css/supports_static)':637 'developer.mozilla.org/docs/web/api/window/devicepixelratio)':1109 'developer.mozilla.org/en-us/docs/web/api/battery_status_api)':1084 'developer.mozilla.org/en-us/docs/web/api/broadcastchannel)':589 'developer.mozilla.org/en-us/docs/web/api/clipboard_api)':604,613 'developer.mozilla.org/en-us/docs/web/api/devicemotionevent)':1092 'developer.mozilla.org/en-us/docs/web/api/deviceorientationevent)':1100 'developer.mozilla.org/en-us/docs/web/api/document/visibilitystate)':425 'developer.mozilla.org/en-us/docs/web/api/element/getboundingclientrect)':451 'developer.mozilla.org/en-us/docs/web/api/eventsource)':1394 'developer.mozilla.org/en-us/docs/web/api/eyedropper_api)':669 'developer.mozilla.org/en-us/docs/web/api/fetch_api)':1420 'developer.mozilla.org/en-us/docs/web/api/file_system_access_api)':697 'developer.mozilla.org/en-us/docs/web/api/fullscreen_api)':706 'developer.mozilla.org/en-us/docs/web/api/gamepad_api)':719 'developer.mozilla.org/en-us/docs/web/api/geolocation_api)':1195 'developer.mozilla.org/en-us/docs/web/api/keyboardevent/getmodifierstate)':1222 'developer.mozilla.org/en-us/docs/web/api/mediadevices/enumeratedevices)':1117 'developer.mozilla.org/en-us/docs/web/api/mediadevices/getdisplaymedia)':1129 'developer.mozilla.org/en-us/docs/web/api/mediadevices/getusermedia)':1381 'developer.mozilla.org/en-us/docs/web/api/navigator/language)':1250 'developer.mozilla.org/en-us/docs/web/api/navigator/share)':882 'developer.mozilla.org/en-us/docs/web/api/navigatorlanguage/languages)':820 'developer.mozilla.org/en-us/docs/web/api/network_information_api)':1259 'developer.mozilla.org/en-us/docs/web/api/notification)':990 'developer.mozilla.org/en-us/docs/web/api/permissions_api)':779 'developer.mozilla.org/en-us/docs/web/api/pointer_events)':1294 'developer.mozilla.org/en-us/docs/web/api/pointer_lock_api)':1303 'developer.mozilla.org/en-us/docs/web/api/pointerevent)':1315 'developer.mozilla.org/en-us/docs/web/api/screen_orientation_api)':856 'developer.mozilla.org/en-us/docs/web/api/screen_wake_lock_api)':982 'developer.mozilla.org/en-us/docs/web/api/server-sent_events)':1402 'developer.mozilla.org/en-us/docs/web/api/speechrecognition)':1339 'developer.mozilla.org/en-us/docs/web/api/speechsynthesis)':1347 'developer.mozilla.org/en-us/docs/web/api/touchevent)':1359 'developer.mozilla.org/en-us/docs/web/api/urlsearchparams)':962 'developer.mozilla.org/en-us/docs/web/api/vibration_api)':971 'developer.mozilla.org/en-us/docs/web/api/web_animations_api)':1449 'developer.mozilla.org/en-us/docs/web/api/web_bluetooth_api)':574 'developer.mozilla.org/en-us/docs/web/api/web_workers_api/using_web_workers)':999 'developer.mozilla.org/en-us/docs/web/api/websocket/websocket)':1434 'developer.mozilla.org/en-us/docs/web/api/window/getselection)':1373 'developer.mozilla.org/en-us/docs/web/api/window/localstorage)':332,384 'developer.mozilla.org/en-us/docs/web/api/window/sessionstorage)':366,389 'developer.mozilla.org/en-us/docs/web/css/@media/prefers-color-scheme)':790 'developer.mozilla.org/en-us/docs/web/css/@media/prefers-contrast)':802 'developer.mozilla.org/en-us/docs/web/css/@media/prefers-reduced-motion)':831 'developer.mozilla.org/en-us/docs/web/css/@media/prefers-reduced-transparency)':844 'developer.mozilla.org/en-us/docs/web/css/media_queries/testing_media_queries)':750 'developer.mozilla.org/en-us/docs/web/html/global_attributes/dir)':943 'devic':1123 'devicemotionev':1091 'deviceorientationev':1099 'dialog':682,2217 'differ':1989 'dimens':528 'dir':942 'document':215,955 'document.activeelement':418 'document.visibilitystate':424 'dom':509,1045,1162,1586,1600 'domain':2623,2717 'draggabl':433 'drauu':2523 'drop':444 'eager':1784 'eas':662,684,1638,2383 'easili':1287,2542 'edit':1075 'effect':1286,3004 'electron':2345 'element':411,432,457,466,475,486,498,516,520,531,743,921,948,1028,1035,1038,1063,1076,1137,1144,1163,1173,1215,1333,1554,1587,1601,1624,2756,2771,2795 'entri':198 'enumeratedevic':1116 'env':863 'evalu':1788 'event':550,1401,2107,2210,2249 'eventfilt':1758 'eventlisten':660 'eventsourc':1393 'everi':1460,1483 'exampl':119 'execut':1882,2167,2240,2304 'expens':1009 'explicit':147,152,1792,1963,2130,2163 'extend':269,287,1967 'extendref':1812 'extern':125,135,2364,2374,2392,2402,2412,2426,2435,2446,2460,2470,2485,2494,2506,2517,2527,2539,2554,2565,2576,2586,2595,2604,2615,2626,2633,2640,2647,2652,2662,2667,2678,2683,2689,2694,2699,2709,2720,2725,2735,2740,2759,2774,2784,2796,2807,2814,2826,2834,2842,2869,2885,2902,2912,2931,2951,2971,2985,2993,3006 'extra':1815 'extract':2896,2965 'eyedropp':667 'factor':2401 'favicon':676 'fetch':1418 'field':112,1847,1857 'file':441,681,694 'filesystemaccessapi':696 'filter':316,409 'fine':1919 'fine-grain':1918 'fire':1032,1067 'firebas':2413,2420,2439 'firebase.google.com':2423,2432,2443 'firebase.google.com/docs/auth)':2422 'firebase.google.com/docs/database)':2442 'firebase.google.com/docs/firestore)':2431 'firestor':2430 'first':71 'focus':545,1158,1180,2534 'focus-trap':2533 'follow':101 'format':2072 'fps':1185 'frame':1186 'fromev':2858 'fullscreen':704 'function':2,8,33,75,99,103,116,168,173,175,190,194,197,210,225,260,412,565,1010,1017,1387,1440,1481,1519,1660,1772,1780,1824,1827,1905,1981,2057,2099,2115,2226,2243,2257,2307,2324,2346,2414,2448,2472,2606,2742,2816,2844,2873,2973,2995 'fuse.js':2550 'fuzzi':2544 'gamepad':717 'generic':2611 'geoloc':1193 'get':514,1598,1987,2070,2124,2655,2728 'github.com':2453,2463,2483,2492,2504,2525,2537,2552,2574,2584,2593,2602,3000 'github.com/antfu/drauu)':2524 'github.com/auth0/jwt-decode)':2573 'github.com/axios/axios)':2491 'github.com/blakeembrey/change-case)':2503 'github.com/focus-trap/focus-trap)':2536 'github.com/krisk/fuse)':2551 'github.com/rstacruz/nprogress)':2583 'github.com/soldair/node-qrcode)':2592 'github.com/sortablejs/sortable)':2601 'github.com/vueuse/head#api)':2452,2462 'github.com/vueuse/sound#examples)':2999 'github.com/yiminghe/async-validator)':2482 'given':519,1495 'global':234,246,892 'grain':1920 'guard':2139 'guid':17 'handl':2801 'head':923,2447,2457,2466 'height':930 'helper':2285 'histori':342,357 'hold':2274 'hook':2108,2211 'hover':1146 'html':456,465 'http':1412 'i18n':2095 'idb':2560 'idb-keyv':2559 'ignor':1711 'imag':728 'immedi':1721 'implement':16,50,77,2543 'import':195 'improv':87 'inact':1207 'includ':199 'increas':1458 'infinit':1211 'info':758 'inject':251,270,918,1527 'injectloc':267,293 'input/output':1122 'inset':867 'insid':1535,1627 'instal':132,142 'instanc':241,265,1405,1476,1594,2459,2521,2984 'instruct':159 'integr':2471 'interfac':2293 'interv':1461 'invoc':105,111,171,227,414,567,1019,1389,1442,1521,1662,1774,1983,2059,2101,2348,2416,2450,2474,2608,2744,2818,2846,2975,2997 'ipcrender':2352 'ipcrenderer.invoke':2368 'ipcrenderer.on':2378 'ipcrenderer.removelistener':2385 'isdefin':2132 'isomorph':2146 'issupport':2299 'item':2235 'jwt':2571 'jwt-decod':2570 'keep':49,230,1938,2262 'key':1229 'keyboard':1051 'keystrok':1052 'keyval':2561 'languag':819 'last':325 'lazi':1787 'leak':2950 'leav':1278 'level':2411 'librari':186 'light':623 'like':909 'list':176,1120,1636,2233 'listen':1022,1049,1056 'load':726 'local':693 'localstorag':331,383 'locat':597 'lock':980,1302,1329 'logicand':2627 'logicnot':2634 'logicor':2641 'long':1059 'made':506 'maintain':52,89 'make':257,431,2112,2145 'makedestructur':2143 'manag':2458,2983 'manipul':643 'manual':338,1751,1903 'map':26,92 'math':2605,2687 'math.abs':2651 'math.ceil':2666 'math.floor':2682 'math.max':2693 'math.min':2698 'math.round':2724 'math.trunc':2739 'may':165 'media':736,748,793,805,834,847 'mediadevices.getdisplaymedia':1128 'mediadevices.getusermedia':1380 'memori':757,2949 'meta':2467 'method':2688 'metric':772 'modal':2214 'mode':621,651 'model':1646,1656 'modifi':382,1220 'motion':830,2741,2783,2790 'motion.vueuse.org':2747,2762,2777,2787,2799,2810 'motion.vueuse.org/api/use-element-style)':2746 'motion.vueuse.org/api/use-element-transform)':2761 'motion.vueuse.org/api/use-motion)':2776 'motion.vueuse.org/api/use-motion-properties)':2786 'motion.vueuse.org/api/use-motion-variants)':2798 'motion.vueuse.org/api/use-spring)':2809 'mount':1611 'mous':493,1236,1242,1277 'multi':2290 'multi-step':2289 'multipl':263 'navig':818 'navigator.language':1249 'need':146 'network':1257,1386 'next':2180 'non':1074,2135 'non-edit':1073 'non-nullish':2134 'normal':1957 'note':157 'notif':989 'nprogress':2582 'nullish':2136 'number':1689,2334,2708 'numer':2619,2713 'nuxt':23,68 'object':766,1835,1841,1851,1861,1978,2149,2752,2767 'observ':770,2881,2891,2908,2960 'obtain':295 'offset':2269 'omit':1846 'onbeforemount':1559 'onbeforeunmount':1564 'onclickoutsid':1020 'one':1175,1667,2622,2716,2898,2967 'one-tim':1666 'onelementremov':1030 'onkeystrok':1047 'onlin':1266 'onlongpress':1054 'onmount':1569 'onscopedispos':1574 'onstarttyp':1065 'onunmount':1579 'open':680,1406 'orient':854 'otherwis':137 'outsid':1025 'overrid':166 'page':1280 'pagin':2270 'parallax':1285 'param':1810 'parent':515 'part':179 'pass':2080,2173 'pattern':38 'pausabl':1736 'per':1187 'perform':54,91,771 'permiss':777 'persist':628,655,1408 'pick':1856 'plain':1823,2114 'play':3002 'pleas':107 'point':1139 'pointer':1292,1301 'pointerev':1314 'poll':2314 'posit':494,1237,1323 'precis':2705 'prefer':40,80,787,800,813,828,841 'prefers-color-schem':786 'prefers-contrast':799 'prefers-reduced-mot':827 'prefers-reduced-transpar':840 'press':1060,1230,1243 'previous':2276 'project':24,2620,2714 'promis':1544,1665 'prompt':162 'prop':1653 'propag':2926 'properti':2791 'provid':277,288,712,1423,2284,2351 'provideloc':275,285 'put':2779 'qrcode':2591 'queri':749,794,806,835,848 'raw':2119 'reactifi':1820,1832 'reactifyobject':1829 'reactiv':305,330,364,374,395,417,422,448,461,492,542,554,560,570,580,586,595,601,610,619,635,649,666,675,703,713,725,735,747,756,762,776,785,798,810,817,826,839,852,862,878,919,941,954,960,968,977,988,1080,1090,1098,1106,1115,1127,1136,1143,1151,1167,1184,1192,1219,1228,1235,1241,1248,1256,1265,1271,1291,1300,1309,1321,1337,1345,1353,1365,1379,1417,1432,1445,1455,1473,1488,1508,1771,1826,1840,1845,1850,1855,1860,1926,1953,1986,1996,2001,2006,2011,2016,2021,2026,2031,2036,2041,2046,2052,2062,2085,2091,2185,2201,2264,2268,2328,2338,2363,2367,2395,2405,2419,2429,2438,2469,2497,2520,2530,2579,2618,2650,2661,2665,2670,2681,2686,2692,2697,2702,2712,2723,2734,2738,2751,2766,2824,2832,2840,2992,3005 'reactivecomput':1837 'reactiveomit':1843 'reactivepick':1853 'read':690 'readabl':88 'realtim':2440 'reconsid':138 'record':320 'reduc':829,842 'ref':345,360,375,1551,1591,1607,1614,1621,1818,1866,1885,1895,1901,1913,1923,1933,1940,1946,1951,1960,1975,2117,2141,2193,2205,2280,2332,2341,2632,2639,2646,2867,2877,2924 'ref.value':2129,2161 'refautoreset':1863 'refdebounc':1879 'refdefault':1888 'refer':108,206 'references/computedasync.md':1776 'references/computedeager.md':1783 'references/computedinject.md':1523 'references/computedwithcontrol.md':1791 'references/createeventhook.md':2103 'references/creategenericprojection.md':2610 'references/createglobalstate.md':229 'references/createinjectionstate.md':244 'references/createprojection.md':2617 'references/createref.md':1800 'references/createreusabletemplate.md':1530 'references/createsharedcomposable.md':256 'references/createtemplatepromise.md':1541 'references/createunreffn.md':2111 'references/extendref.md':1813 'references/from.md':2848 'references/get.md':2125 'references/injectlocal.md':268 'references/isdefined.md':2133 'references/logicand.md':2628 'references/logicnot.md':2635 'references/logicor.md':2642 'references/makedestructurable.md':2144 'references/onclickoutside.md':1021 'references/onelementremoval.md':1031 'references/onkeystroke.md':1048 'references/onlongpress.md':1055 'references/onstarttyping.md':1066 'references/providelocal.md':286 'references/reactify.md':1821 'references/reactifyobject.md':1830 'references/reactivecomputed.md':1838 'references/reactiveomit.md':1844 'references/reactivepick.md':1854 'references/refautoreset.md':1864 'references/refdebounced.md':1880 'references/refdefault.md':1889 'references/refmanualreset.md':1898 'references/refthrottled.md':1908 'references/refwithcontrol.md':1917 'references/set.md':2158 'references/syncref.md':1929 'references/syncrefs.md':1937 'references/templateref.md':1547 'references/toobserver.md':2871 'references/toreactive.md':1949 'references/toref.md':1956 'references/torefs.md':1966 'references/tryonbeforemount.md':1557 'references/tryonbeforeunmount.md':1562 'references/tryonmounted.md':1567 'references/tryonscopedispose.md':1572 'references/tryonunmounted.md':1577 'references/unrefelement.md':1582 'references/until.md':1664 'references/useabs.md':2649 'references/useactiveelement.md':416 'references/useanimate.md':1444 'references/usearraydifference.md':1985 'references/usearrayevery.md':1995 'references/usearrayfilter.md':2000 'references/usearrayfind.md':2005 'references/usearrayfindindex.md':2010 'references/usearrayfindlast.md':2015 'references/usearrayincludes.md':2020 'references/usearrayjoin.md':2025 'references/usearraymap.md':2030 'references/usearrayreduce.md':2035 'references/usearraysome.md':2040 'references/usearrayunique.md':2045 'references/useasyncqueue.md':2166 'references/useasyncstate.md':304 'references/useasyncvalidator.md':2476 'references/useauth.md':2418 'references/useaverage.md':2654 'references/useaxios.md':2487 'references/usebase64.md':2184 'references/usebattery.md':1079 'references/usebluetooth.md':569 'references/usebreakpoints.md':579 'references/usebroadcastchannel.md':585 'references/usebrowserlocation.md':594 'references/usecached.md':2190 'references/useceil.md':2664 'references/usechangecase.md':2496 'references/useclamp.md':2669 'references/useclipboard.md':600 'references/useclipboarditems.md':609 'references/usecloned.md':2200 'references/usecolormode.md':618 'references/useconfirmdialog.md':2208 'references/usecookies.md':2508 'references/usecountdown.md':2061 'references/usecounter.md':2221 'references/usecsssupports.md':631 'references/usecssvar.md':642 'references/usecurrentelement.md':1597 'references/usecyclelist.md':2229 'references/usedark.md':648 'references/usedateformat.md':2069 'references/usedebouncedrefhistory.md':310 'references/usedebouncefn.md':2238 'references/usedevicemotion.md':1089 'references/usedeviceorientation.md':1097 'references/usedevicepixelratio.md':1105 'references/usedeviceslist.md':1114 'references/usedisplaymedia.md':1126 'references/usedocumentvisibility.md':421 'references/usedraggable.md':430 'references/usedrauu.md':2519 'references/usedropzone.md':436 'references/useelementbounding.md':447 'references/useelementbypoint.md':1135 'references/useelementhover.md':1142 'references/useelementsize.md':460 'references/useelementvisibility.md':469 'references/useeventbus.md':2246 'references/useeventlistener.md':658 'references/useeventsource.md':1391 'references/useextractedobservable.md':2887 'references/useeyedropper.md':665 'references/usefavicon.md':674 'references/usefetch.md':1416 'references/usefiledialog.md':679 'references/usefilesystemaccess.md':687 'references/usefirestore.md':2428 'references/usefloor.md':2680 'references/usefocus.md':1150 'references/usefocustrap.md':2529 'references/usefocuswithin.md':1166 'references/usefps.md':1183 'references/usefullscreen.md':702 'references/usefuse.md':2541 'references/usegamepad.md':711 'references/usegeolocation.md':1191 'references/useidbkeyval.md':2556 'references/useidle.md':1200 'references/useimage.md':724 'references/useinfinitescroll.md':1210 'references/useintersectionobserver.md':481 'references/useinterval.md':1454 'references/useintervalfn.md':1464 'references/useipcrenderer.md':2350 'references/useipcrendererinvoke.md':2366 'references/useipcrendereron.md':2376 'references/usejwt.md':2567 'references/usekeymodifier.md':1218 'references/uselastchanged.md':319 'references/uselocalstorage.md':329 'references/usemagickeys.md':1227 'references/usemanualrefhistory.md':337 'references/usemath.md':2685 'references/usemax.md':2691 'references/usemediacontrols.md':734 'references/usemediaquery.md':746 'references/usememoize.md':2253 'references/usememory.md':755 'references/usemin.md':2696 'references/usemounted.md':1610 'references/usemouse.md':1234 'references/usemouseinelement.md':491 'references/usemousepressed.md':1240 'references/usemutationobserver.md':501 'references/usenavigatorlanguage.md':1247 'references/usenetwork.md':1255 'references/usenow.md':1472 'references/usenprogress.md':2578 'references/useobjecturl.md':761 'references/useobservable.md':2904 'references/useoffsetpagination.md':2267 'references/useonline.md':1264 'references/usepageleave.md':1270 'references/useparallax.md':1283 'references/useparentelement.md':513 'references/useperformanceobserver.md':769 'references/usepermission.md':775 'references/usepointer.md':1290 'references/usepointerlock.md':1299 'references/usepointerswipe.md':1308 'references/useprecision.md':2701 'references/usepreferredcolorscheme.md':784 'references/usepreferredcontrast.md':797 'references/usepreferreddark.md':809 'references/usepreferredlanguages.md':816 'references/usepreferredreducedmotion.md':825 'references/usepreferredreducedtransparency.md':838 'references/useprevious.md':2273 'references/useprojection.md':2711 'references/useqrcode.md':2588 'references/useraffn.md':1479 'references/userefhistory.md':353 'references/useresizeobserver.md':523 'references/useround.md':2722 'references/useroutehash.md':2820 'references/userouteparams.md':2828 'references/useroutequery.md':2836 'references/usertdb.md':2437 'references/usescreenorientation.md':851 'references/usescreensafearea.md':861 'references/usescripttag.md':870 'references/usescroll.md':1320 'references/usescrolllock.md':1328 'references/usesessionstorage.md':363 'references/useshare.md':877 'references/usesortable.md':2597 'references/usesorted.md':2051 'references/usespeechrecognition.md':1336 'references/usespeechsynthesis.md':1344 'references/usessrwidth.md':887 'references/usestepper.md':2283 'references/usestorage.md':371 'references/usestorageasync.md':394 'references/usestyletag.md':917 'references/usesubject.md':2914 'references/usesubscription.md':2933 'references/usesum.md':2727 'references/usesupported.md':2296 'references/useswipe.md':1352 'references/usetemplaterefslist.md':1617 'references/usetextareaautosize.md':926 'references/usetextdirection.md':940 'references/usetextselection.md':1364 'references/usethrottledrefhistory.md':403 'references/usethrottlefn.md':2302 'references/usetimeago.md':2084 'references/usetimeagointl.md':2090 'references/usetimeout.md':1487 'references/usetimeoutfn.md':1499 'references/usetimeoutpoll.md':2310 'references/usetimestamp.md':1507 'references/usetitle.md':953 'references/usetoggle.md':2318 'references/usetonumber.md':2327 'references/usetostring.md':2337 'references/usetransition.md':1513 'references/usetrunc.md':2737 'references/useurlsearchparams.md':959 'references/useusermedia.md':1378 'references/usevibrate.md':967 'references/usevirtuallist.md':1633 'references/usevmodel.md':1641 'references/usevmodels.md':1650 'references/usewakelock.md':976 'references/usewebnotification.md':987 'references/usewebsocket.md':1431 'references/usewebworker.md':995 'references/usewebworkerfn.md':1007 'references/usewindowfocus.md':541 'references/usewindowscroll.md':553 'references/usewindowsize.md':559 'references/usezoomfactor.md':2394 'references/usezoomlevel.md':2404 'references/watcharray.md':1674 'references/watchatmost.md':1685 'references/watchdebounced.md':1695 'references/watchdeep.md':1700 'references/watchextractedobservable.md':2953 'references/watchignorable.md':1710 'references/watchimmediate.md':1715 'references/watchonce.md':1725 'references/watchpausable.md':1735 'references/watchthrottled.md':1740 'references/watchtriggerable.md':1745 'references/watchwithfilter.md':1754 'references/whenever.md':1762 'refmanualreset':1897 'refthrottl':1907 'refwithcontrol':1916 'registr':1002 'relat':495 'reli':904 'remov':1042,1682 'render':900 'report':524 'repres':764 'request':153,1428 'requestanimationfram':1484 'requir':27,79,93,134 'reset':1870,1904 'result':2177,2255,2373 'retriev':1583 'return':1801 'reus':1533 'reusabl':238 'route.hash':2825 'route.params':2833 'route.query':2841 'router':2815 'rule':106,172 'run':1008 'rxjs':2843,2851,2880,2890,2907,2917,2936,2959 'rxjs.dev':2855,2860,2883,2893,2910,2920,2939,2962 'rxjs.dev/api/index/function/from)':2854 'rxjs.dev/api/index/function/fromevent)':2859 'rxjs.dev/guide/observable)':2892,2909,2961 'rxjs.dev/guide/observer)':2882 'rxjs.dev/guide/subject)':2919 'rxjs.dev/guide/subscription)':2938 'safe':865,1558,1563,1568,1573,1578 'safe-area-inset':864 'schema.org':2982,2991 'schemaorg':2972 'scheme':789 'scope':235,1538 'screen':853,978 'script':873 'scroll':556,1212,1322,1330 'search':2545 'second':1188,2066 'section':188 'select':1369,2806 'sensor':1016 'sent':1400 'sequenti':2171 'server':1399,1413 'server-sent-ev':1398 'sessionstorag':365,388 'set':890,1156,2157,2703 'setinterv':1467 'settimeout':1502 'shallowref':1805 'share':880 'short':201 'shorthand':311,404,1548,1618,1642,1651,1701,1716,1726,1763,2126,2159,2821,2829,2837 'show':1274 'simpl':996 'size':462,562 'skill':3,4,10,60 'solut':44 'someth':2315 'sort':2053 'sortabl':2600 'sound':2994,3003 'sourc':1945 'source-antfu' 'speechrecognit':1338 'speechsynthesi':1346 'spring':2812 'ssr':632,901,2297 'start':1070 'state':224,231,247,307,1147,1159,1221,1231,1244,1267,1272,1293,1325,1612,2804 'status':1082,1258 'step':2291 'storag':396 'stream':1132,1384 'string':2077,2331,2343 'style':920,2758 'subject':2918 'subscript':2937 'sugar':2872 'suitabl':31 'sum':2730 'support':400,2096,2213 'swipe':1310,1354 'switcher':2321 'sync':1942,2749,2764 'synchron':1934 'syncref':1928,1936 'tabl':117 'tag':874,2468 'target':485,1939,2755,2770,2794 'task':2170,2176,2181 'templat':1534,1542,1553,1623 'templateref':1546 'text':950,1368 'textarea':933 'theme':812 'throttl':408,1741,1909,2303 'time':1496,1668,1691,1877,2056,2086,2092,2155 'timeout':2312 'timer':2064 'timestamp':322,1510 'titl':956 'token':2079 'toobserv':2870 'toreact':1948 'toref':1955,1965,1968 'touchev':1358 'track':339,354,423,470,543,1107,1154,1170,1201,1366 'transform':2187,2773 'transit':1514 'transpar':843 'trap':2535 'tree':510 'trigger':1692,1750 'true':1492,1707,1722,1732 'truli':145 'truthi':1769 'tryonbeforemount':1556 'tryonbeforeunmount':1561 'tryonmount':1566 'tryonscopedispos':1571 'tryonunmount':1576 'two':1931,1991,2675 'two-way':1930 'type':222,1071,2138 'ui':1014 'under':1585 'uniqu':2047 'univers':2512 'universal-cooki':2511 'unmount':2391 'unrefel':1581 'unsubscrib':2944 'updat':928,2465,2990 'url':763 'urlsearchparam':961 'usabl':261 'usag':37,219 'use':121,126,149,208,348,379,659,888,898,2311,2377,2546,2888,2905,2934 'useab':2648 'useactiveel':415 'useanim':1443 'usearraydiffer':1984 'usearrayeveri':1994 'usearrayfilt':1999 'usearrayfind':2004 'usearrayfindindex':2009 'usearrayfindlast':2014 'usearrayinclud':2019 'usearrayjoin':2024 'usearraymap':2029 'usearrayreduc':2034 'usearraysom':2039 'usearrayuniqu':2044 'useasyncqueu':2165 'useasyncst':303 'useasyncvalid':2475 'useauth':2417 'useaverag':2653 'useaxio':2486 'usebase64':2183 'usebatteri':1078 'usebluetooth':568 'usebreakpoint':578,913 'usebroadcastchannel':584 'usebrowserloc':593 'usecach':2189 'useceil':2663 'usechangecas':2495 'useclamp':2668 'useclipboard':599 'useclipboarditem':608 'useclon':2199 'usecolormod':617 'useconfirmdialog':2207 'usecooki':2507 'usecount':2220 'usecountdown':2060 'usecsssupport':630 'usecssvar':641 'usecurrentel':1596 'usecyclelist':2228 'usedark':647 'usedateformat':2068 'usedebouncedrefhistori':309 'usedebouncefn':2237 'usedevicemot':1088 'usedeviceorient':1096 'usedevicepixelratio':1104 'usedeviceslist':1113 'usedisplaymedia':1125 'usedocumentvis':420 'usedragg':429 'usedrauu':2518 'usedropzon':435 'useelementbound':446 'useelementbypoint':1134 'useelementhov':1141 'useelements':459 'useelementstyl':2745 'useelementtransform':2760 'useelementvis':468 'useeventbus':2245 'useeventlisten':657 'useeventsourc':1390 'useextractedobserv':2886 'useeyedropp':664 'usefavicon':673 'usefetch':1415 'usefiledialog':678 'usefilesystemaccess':686 'usefirestor':2427 'usefloor':2679 'usefocus':1149 'usefocustrap':2528 'usefocuswithin':1165 'usefp':1182 'usefullscreen':701 'usefus':2540 'usegamepad':710 'usegeoloc':1190 'usehead':2461 'useidbkeyv':2555 'useidl':1199 'useimag':723 'useinfinitescrol':1209 'useintersectionobserv':480 'useinterv':1453 'useintervalfn':1463 'useipcrender':2349 'useipcrendererinvok':2365 'useipcrendereron':2375 'usejwt':2566 'usekeymodifi':1217 'uselastchang':318 'uselocalstorag':328 'usemagickey':1226 'usemanualrefhistori':336 'usemath':2684 'usemax':2690 'usemediacontrol':733 'usemediaqueri':745,910 'usememo':2252 'usememori':754 'usemin':2695 'usemot':2775 'usemotionproperti':2785 'usemotionvari':2797 'usemount':1609 'usemous':1233 'usemouseinel':490 'usemousepress':1239 'usemutationobserv':500 'usenavigatorlanguag':1246 'usenetwork':1254 'usenow':1471 'usenprogress':2577 'useobjecturl':760 'useobserv':2903 'useoffsetpagin':2266 'useonlin':1263 'usepageleav':1269 'useparallax':1282 'useparentel':512 'useperformanceobserv':768 'usepermiss':774 'usepoint':1289 'usepointerlock':1298 'usepointerswip':1307 'useprecis':2700 'usepreferredcolorschem':783 'usepreferredcontrast':796 'usepreferreddark':808 'usepreferredlanguag':815 'usepreferredreducedmot':824 'usepreferredreducedtranspar':837 'useprevi':2272 'useproject':2710 'useqrcod':2587 'user':63,130,156,158,1069,1204,1367 'useraffn':1478 'userefhistori':313,352,406 'useresizeobserv':522 'useround':2721 'useroutehash':2819 'userouteparam':2827 'useroutequeri':2835 'usertdb':2436 'useschemaorg':2986 'usescreenorient':850 'usescreensafearea':860 'usescripttag':869 'usescrol':1319 'usescrolllock':1327 'usesessionstorag':362 'useshar':876 'usesort':2050,2596 'usesound':2998 'usespeechrecognit':1335 'usespeechsynthesi':1343 'usespr':2808 'usessrwidth':886 'usestepp':2282 'usestorag':370 'usestorageasync':393 'usestyletag':916 'usesubject':2913 'usesubscript':2932 'usesum':2726 'usesupport':2295 'useswip':1351 'usetemplaterefslist':1616 'usetextareaautos':925 'usetextdirect':939 'usetextselect':1363 'usethrottledrefhistori':402 'usethrottlefn':2301 'usetimeago':2083 'usetimeagointl':2089 'usetimeout':1486 'usetimeoutfn':1498 'usetimeoutpol':2309 'usetimestamp':1506 'usetitl':952 'usetoggl':2317 'usetonumb':2326 'usetostr':2336 'usetransit':1512 'usetrunc':2736 'useurlsearchparam':958 'useusermedia':1377 'usevibr':966 'usevirtuallist':1632 'usevmodel':1640,1649 'usewakelock':975 'usewebnotif':986 'usewebsocket':1430 'usewebwork':994 'usewebworkerfn':1006 'usewindowfocus':540 'usewindows':558 'usewindowscrol':552 'usezoomfactor':2393 'usezoomlevel':2403 'util':1152,1168,2098,2104,2225,2323 'v':1629,1645,1655 'v-for':1628 'v-model':1644,1654 'valid':2481 'valu':279,297,1489,1516,1704,1719,1729,1766,1874,1886,1892,1914,2120,2277,2673,2677,2927,2956 'value/ref/getter':1958 'variabl':645 'variant':2803 'version':2612 'vibrat':969 'video':742 'viewport':478,581,893,907 'virtual':1635 'visibl':472,488 'vue':240,264,1590,2362 'vue-schema-org.netlify.app':2978,2988 'vue-schema-org.netlify.app/api/core/create-schema-org.html)':2977 'vue-schema-org.netlify.app/api/core/use-schema-org.html)':2987 'vue.js':22,67 'vuejs.org':1970 'vuejs.org/api/reactivity-utilities.html#torefs)':1969 'vueus':1,7,19,32,74,81,98,182 'vueuse.org':184 'vueuse.org/)':183 'wake':979 'watch':502,1659,1669,1675,1686,1697,1703,1712,1718,1728,1737,1742,1746,1755,1765,2954 'watcharray':1673 'watchatmost':1684 'watchdebounc':1694 'watchdeep':1699 'watchextractedobserv':2952 'watchignor':1709 'watchimmedi':1714 'watchonc':1724 'watchpaus':1734 'watchthrottl':1739 'watchtrigger':1744 'watchwithfilt':1753 'way':1932,2930 'web':571,879,997,1446 'webfram':2396,2406 'websocket':1433 'whenev':61,1761 'whether':72,1202,1275 'width':894,908 'window':544,555,561 'window.devicepixelratio':1108 'window.getselection':1372 'window.onblur':549 'window.onfocus':547 'within':476 'without':1011,1786,2941 'wizard':2292 'work':65 'worker':998 'worri':2942 'wrapper':1465,1500,2477,2488,2498,2509,2531,2557,2568,2580,2589,2598,2849 'write':692 'www.electronjs.org':2354,2371,2380,2387,2398,2408 'www.electronjs.org/docs/api/ipc-renderer#ipcrendererinvokechannel-args)':2370 'www.electronjs.org/docs/api/ipc-renderer#ipcrendereronchannel-listener)':2379 'www.electronjs.org/docs/api/ipc-renderer#ipcrendererremovelistenerchannel-listener)':2386 'www.electronjs.org/docs/api/ipc-renderer)':2353 'www.electronjs.org/docs/api/web-frame#webframe)':2397,2407 'www.npmjs.com':2515,2563 'www.npmjs.com/package/idb-keyval)':2562 'www.npmjs.com/package/universal-cookie)':2514 'x':2162 'zone':439 'zoom':2400,2410","prices":[{"id":"315ba811-ea1a-4705-9ee6-66f4b30b98a1","listingId":"b047ccb9-8bda-42a0-a626-9e0174d6ab23","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"antfu","category":"skills","install_from":"skills.sh"},"createdAt":"2026-04-18T20:24:39.165Z"}],"sources":[{"listingId":"b047ccb9-8bda-42a0-a626-9e0174d6ab23","source":"github","sourceId":"antfu/skills/vueuse-functions","sourceUrl":"https://github.com/antfu/skills/tree/main/skills/vueuse-functions","isPrimary":false,"firstSeenAt":"2026-04-18T21:53:56.491Z","lastSeenAt":"2026-04-23T18:53:30.427Z"},{"listingId":"b047ccb9-8bda-42a0-a626-9e0174d6ab23","source":"skills_sh","sourceId":"antfu/skills/vueuse-functions","sourceUrl":"https://skills.sh/antfu/skills/vueuse-functions","isPrimary":true,"firstSeenAt":"2026-04-18T20:24:39.165Z","lastSeenAt":"2026-04-24T00:40:11.285Z"}],"details":{"listingId":"b047ccb9-8bda-42a0-a626-9e0174d6ab23","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"antfu","slug":"vueuse-functions","source":"skills_sh","category":"skills","skills_sh_url":"https://skills.sh/antfu/skills/vueuse-functions"},"updatedAt":"2026-04-24T00:40:11.285Z"}}