antfu avatar

Vueuse Functions

antfu/skills
4.1k

This skill provides a comprehensive guide for utilizing VueUse composables in Vue.js and Nuxt projects, helping developers map requirements to the most appropriate functions for state management, element interaction, browser features, and more. It promotes the use of composable-based solutions over custom code to enhance code clarity, maintainability, and performance. Designed for developers working within Vue.js or Nuxt, it ensures efficient implementation of reactivity and functionality using VueUse's extensive library.

npx skills add https://github.com/antfu/skills --skill vueuse-functions

VueUse Functions

This 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.

When to Apply

  • Apply this skill whenever assisting user development work in Vue.js / Nuxt.
  • Always check first whether a VueUse function can implement the requirement.
  • Prefer VueUse composables over custom code to improve readability, maintainability, and performance.
  • Map requirements to the most appropriate VueUse function and follow the function’s invocation rule.
  • Please refer to the Invocation field in the below functions table. For example:
    • AUTO: Use automatically when applicable.
    • EXTERNAL: Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.
    • EXPLICIT_ONLY: Use only when explicitly requested by the user.

    NOTE User instructions in the prompt or AGENTS.md may override a function’s default Invocation rule.

Functions

All functions listed below are part of the VueUse library, each section categorizes functions based on their functionality. IMPORTANT: 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.

State

Function Description Invocation createGlobalState Keep states in the global scope to be reusable across Vue instances AUTO createInjectionState Create global state that can be injected into components AUTO createSharedComposable Make a composable function usable with multiple Vue instances AUTO injectLocal Extended inject with ability to call provideLocal to provide the value in the same component AUTO provideLocal Extended provide with ability to call injectLocal to obtain the value in the same component AUTO useAsyncState Reactive async state AUTO useDebouncedRefHistory Shorthand for useRefHistory with debounced filter AUTO useLastChanged Records the timestamp of the last change AUTO useLocalStorage Reactive LocalStorage AUTO useManualRefHistory Manually track the change history of a ref when the using calls commit() AUTO useRefHistory Track the change history of a ref AUTO useSessionStorage Reactive SessionStorage AUTO useStorage Create a reactive ref that can be used to access & modify LocalStorage or SessionStorage AUTO useStorageAsync Reactive Storage in with async support AUTO useThrottledRefHistory Shorthand for useRefHistory with throttled filter AUTO

Elements

Function Description Invocation useActiveElement Reactive document.activeElement AUTO useDocumentVisibility Reactively track document.visibilityState AUTO useDraggable Make elements draggable AUTO useDropZone Create a zone where files can be dropped AUTO useElementBounding Reactive bounding box of an HTML element AUTO useElementSize Reactive size of an HTML element AUTO useElementVisibility Tracks the visibility of an element within the viewport AUTO useIntersectionObserver Detects that a target element's visibility AUTO useMouseInElement Reactive mouse position related to an element AUTO useMutationObserver Watch for changes being made to the DOM tree AUTO useParentElement Get parent element of the given element AUTO useResizeObserver Reports changes to the dimensions of an Element's content or the border-box AUTO useWindowFocus Reactively track window focus with window.onfocus and window.onblur events AUTO useWindowScroll Reactive window scroll AUTO useWindowSize Reactive window size AUTO

Browser

Function Description Invocation useBluetooth Reactive Web Bluetooth API AUTO useBreakpoints Reactive viewport breakpoints AUTO useBroadcastChannel Reactive BroadcastChannel API AUTO useBrowserLocation Reactive browser location AUTO useClipboard Reactive Clipboard API AUTO useClipboardItems Reactive Clipboard API AUTO useColorMode Reactive color mode (dark / light / customs) with auto data persistence AUTO useCssSupports SSR compatible and reactive CSS.supports AUTO useCssVar Manipulate CSS variables AUTO useDark Reactive dark mode with auto data persistence AUTO useEventListener Use EventListener with ease AUTO useEyeDropper Reactive EyeDropper API AUTO useFavicon Reactive favicon AUTO useFileDialog Open file dialog with ease AUTO useFileSystemAccess Create and read and write local files with FileSystemAccessAPI AUTO useFullscreen Reactive Fullscreen API AUTO useGamepad Provides reactive bindings for the Gamepad API AUTO useImage Reactive load an image in the browser AUTO useMediaControls Reactive media controls for both audio and video elements AUTO useMediaQuery Reactive Media Query AUTO useMemory Reactive Memory Info AUTO useObjectUrl Reactive URL representing an object AUTO usePerformanceObserver Observe performance metrics AUTO usePermission Reactive Permissions API AUTO usePreferredColorScheme Reactive prefers-color-scheme media query AUTO usePreferredContrast Reactive prefers-contrast media query AUTO usePreferredDark Reactive dark theme preference AUTO usePreferredLanguages Reactive Navigator Languages AUTO usePreferredReducedMotion Reactive prefers-reduced-motion media query AUTO usePreferredReducedTransparency Reactive prefers-reduced-transparency media query AUTO useScreenOrientation Reactive Screen Orientation API AUTO useScreenSafeArea Reactive env(safe-area-inset-*) AUTO useScriptTag Creates a script tag AUTO useShare Reactive Web Share API AUTO useSSRWidth Used to set a global viewport width which will be used when rendering SSR components that rely on the viewport width like useMediaQuery or useBreakpoints AUTO useStyleTag Inject reactive style element in head AUTO useTextareaAutosize Automatically update the height of a textarea depending on the content AUTO useTextDirection Reactive dir of the element's text AUTO useTitle Reactive document title AUTO useUrlSearchParams Reactive URLSearchParams AUTO useVibrate Reactive Vibration API AUTO useWakeLock Reactive Screen Wake Lock API AUTO useWebNotification Reactive Notification AUTO useWebWorker Simple Web Workers registration and communication AUTO useWebWorkerFn Run expensive functions without blocking the UI AUTO

Sensors

Function Description Invocation onClickOutside Listen for clicks outside of an element AUTO onElementRemoval Fires when the element or any element containing it is removed from the DOM AUTO onKeyStroke Listen for keyboard keystrokes AUTO onLongPress Listen for a long press on an element AUTO onStartTyping Fires when users start typing on non-editable elements AUTO useBattery Reactive Battery Status API AUTO useDeviceMotion Reactive DeviceMotionEvent AUTO useDeviceOrientation Reactive DeviceOrientationEvent AUTO useDevicePixelRatio Reactively track window.devicePixelRatio AUTO useDevicesList Reactive enumerateDevices listing available input/output devices AUTO useDisplayMedia Reactive mediaDevices.getDisplayMedia streaming AUTO useElementByPoint Reactive element by point AUTO useElementHover Reactive element's hover state AUTO useFocus Reactive utility to track or set the focus state of a DOM element AUTO useFocusWithin Reactive utility to track if an element or one of its decendants has focus AUTO useFps Reactive FPS (frames per second) AUTO useGeolocation Reactive Geolocation API AUTO useIdle Tracks whether the user is being inactive AUTO useInfiniteScroll Infinite scrolling of the element AUTO useKeyModifier Reactive Modifier State AUTO useMagicKeys Reactive keys pressed state AUTO useMouse Reactive mouse position AUTO useMousePressed Reactive mouse pressing state AUTO useNavigatorLanguage Reactive navigator.language AUTO useNetwork Reactive Network status AUTO useOnline Reactive online state AUTO usePageLeave Reactive state to show whether the mouse leaves the page AUTO useParallax Create parallax effect easily AUTO usePointer Reactive pointer state AUTO usePointerLock Reactive pointer lock AUTO usePointerSwipe Reactive swipe detection based on PointerEvents AUTO useScroll Reactive scroll position and state AUTO useScrollLock Lock scrolling of the element AUTO useSpeechRecognition Reactive SpeechRecognition AUTO useSpeechSynthesis Reactive SpeechSynthesis AUTO useSwipe Reactive swipe detection based on TouchEvents AUTO useTextSelection Reactively track user text selection based on Window.getSelection AUTO useUserMedia Reactive mediaDevices.getUserMedia streaming AUTO

Network

Function Description Invocation useEventSource An EventSource or Server-Sent-Events instance opens a persistent connection to an HTTP server AUTO useFetch Reactive Fetch API provides the ability to abort requests AUTO useWebSocket Reactive WebSocket client AUTO

Animation

Function Description Invocation useAnimate Reactive Web Animations API AUTO useInterval Reactive counter that increases on every interval AUTO useIntervalFn Wrapper for setInterval with controls AUTO useNow Reactive current Date instance AUTO useRafFn Call function on every requestAnimationFrame AUTO useTimeout Reactive value that becomes true after a given time AUTO useTimeoutFn Wrapper for setTimeout with controls AUTO useTimestamp Reactive current timestamp AUTO useTransition Transition between values AUTO

Component

Function Description Invocation computedInject Combine computed and inject AUTO createReusableTemplate Define and reuse template inside the component scope AUTO createTemplatePromise Template as Promise AUTO templateRef Shorthand for binding ref to template element AUTO tryOnBeforeMount Safe onBeforeMount AUTO tryOnBeforeUnmount Safe onBeforeUnmount AUTO tryOnMounted Safe onMounted AUTO tryOnScopeDispose Safe onScopeDispose AUTO tryOnUnmounted Safe onUnmounted AUTO unrefElement Retrieves the underlying DOM element from a Vue ref or component instance AUTO useCurrentElement Get the DOM element of current component as a ref AUTO useMounted Mounted state in ref AUTO useTemplateRefsList Shorthand for binding refs to template elements and components inside v-for AUTO useVirtualList Create virtual lists with ease AUTO useVModel Shorthand for v-model binding AUTO useVModels Shorthand for props v-model binding AUTO

Watch

Function Description Invocation until Promised one-time watch for changes AUTO watchArray Watch for an array with additions and removals AUTO watchAtMost watch with the number of times triggered AUTO watchDebounced Debounced watch AUTO watchDeep Shorthand for watching value with {deep: true} AUTO watchIgnorable Ignorable watch AUTO watchImmediate Shorthand for watching value with {immediate: true} AUTO watchOnce Shorthand for watching value with { once: true } AUTO watchPausable Pausable watch AUTO watchThrottled Throttled watch AUTO watchTriggerable Watch that can be triggered manually AUTO watchWithFilter watch with additional EventFilter control AUTO whenever Shorthand for watching value to be truthy AUTO

Reactivity

Function Description Invocation computedAsync Computed for async functions AUTO computedEager Eager computed without lazy evaluation AUTO computedWithControl Explicitly define the dependencies of computed AUTO createRef Returns a deepRef or shallowRef depending on the deep param AUTO extendRef Add extra attributes to Ref AUTO reactify Converts plain functions into reactive functions AUTO reactifyObject Apply reactify to an object AUTO reactiveComputed Computed reactive object AUTO reactiveOmit Reactively omit fields from a reactive object AUTO reactivePick Reactively pick fields from a reactive object AUTO refAutoReset A ref which will be reset to the default value after some time AUTO refDebounced Debounce execution of a ref value AUTO refDefault Apply default value to a ref AUTO refManualReset Create a ref with manual reset functionality AUTO refThrottled Throttle changing of a ref value AUTO refWithControl Fine-grained controls over ref and its reactivity AUTO syncRef Two-way refs synchronization AUTO syncRefs Keep target refs in sync with a source ref AUTO toReactive Converts ref to reactive AUTO toRef Normalize value/ref/getter to ref or computed EXPLICIT_ONLY toRefs Extended toRefs that also accepts refs of an object AUTO

Array

Function Description Invocation useArrayDifference Reactive get array difference of two arrays AUTO useArrayEvery Reactive Array.every AUTO useArrayFilter Reactive Array.filter AUTO useArrayFind Reactive Array.find AUTO useArrayFindIndex Reactive Array.findIndex AUTO useArrayFindLast Reactive Array.findLast AUTO useArrayIncludes Reactive Array.includes AUTO useArrayJoin Reactive Array.join AUTO useArrayMap Reactive Array.map AUTO useArrayReduce Reactive Array.reduce AUTO useArraySome Reactive Array.some AUTO useArrayUnique Reactive unique array AUTO useSorted Reactive sort array AUTO

Time

Function Description Invocation useCountdown Reactive countdown timer in seconds AUTO useDateFormat Get the formatted date according to the string of tokens passed in AUTO useTimeAgo Reactive time ago AUTO useTimeAgoIntl Reactive time ago with i18n supported AUTO

Utilities

Function Description Invocation createEventHook Utility for creating event hooks AUTO createUnrefFn Make a plain function accepting ref and raw values as arguments AUTO get Shorthand for accessing ref.value EXPLICIT_ONLY isDefined Non-nullish checking type guard for Ref AUTO makeDestructurable Make isomorphic destructurable for object and array at the same time AUTO set Shorthand for ref.value = x EXPLICIT_ONLY useAsyncQueue Executes each asynchronous task sequentially and passes the current task result to the next task AUTO useBase64 Reactive base64 transforming AUTO useCached Cache a ref with a custom comparator AUTO useCloned Reactive clone of a ref AUTO useConfirmDialog Creates event hooks to support modals and confirmation dialog chains AUTO useCounter Basic counter with utility functions AUTO useCycleList Cycle through a list of items AUTO useDebounceFn Debounce execution of a function AUTO useEventBus A basic event bus AUTO useMemoize Cache results of functions depending on arguments and keep it reactive AUTO useOffsetPagination Reactive offset pagination AUTO usePrevious Holds the previous value of a ref AUTO useStepper Provides helpers for building a multi-step wizard interface AUTO useSupported SSR compatibility isSupported AUTO useThrottleFn Throttle execution of a function AUTO useTimeoutPoll Use timeout to poll something AUTO useToggle A boolean switcher with utility functions AUTO useToNumber Reactively convert a string ref to number AUTO useToString Reactively convert a ref to string AUTO

@Electron

Function Description Invocation useIpcRenderer Provides ipcRenderer and all of its APIs with Vue reactivity EXTERNAL useIpcRendererInvoke Reactive ipcRenderer.invoke API result EXTERNAL useIpcRendererOn Use ipcRenderer.on with ease and ipcRenderer.removeListener automatically on unmounted EXTERNAL useZoomFactor Reactive WebFrame zoom factor EXTERNAL useZoomLevel Reactive WebFrame zoom level EXTERNAL

@Firebase

Function Description Invocation useAuth Reactive Firebase Auth binding EXTERNAL useFirestore Reactive Firestore binding EXTERNAL useRTDB Reactive Firebase Realtime Database binding EXTERNAL

@Head

Function Description Invocation createHead Create the head manager instance. EXTERNAL useHead Update head meta tags reactively. EXTERNAL

@Integrations

Function Description Invocation useAsyncValidator Wrapper for async-validator EXTERNAL useAxios Wrapper for axios EXTERNAL useChangeCase Reactive wrapper for change-case EXTERNAL useCookies Wrapper for universal-cookie EXTERNAL useDrauu Reactive instance for drauu EXTERNAL useFocusTrap Reactive wrapper for focus-trap EXTERNAL useFuse Easily implement fuzzy search using a composable with Fuse.js EXTERNAL useIDBKeyval Wrapper for idb-keyval EXTERNAL useJwt Wrapper for jwt-decode EXTERNAL useNProgress Reactive wrapper for nprogress EXTERNAL useQRCode Wrapper for qrcode EXTERNAL useSortable Wrapper for sortable EXTERNAL

@Math

Function Description Invocation createGenericProjection Generic version of createProjection EXTERNAL createProjection Reactive numeric projection from one domain to another EXTERNAL logicAnd AND condition for refs EXTERNAL logicNot NOT condition for ref EXTERNAL logicOr OR conditions for refs EXTERNAL useAbs Reactive Math.abs EXTERNAL useAverage Get the average of an array reactively EXTERNAL useCeil Reactive Math.ceil EXTERNAL useClamp Reactively clamp a value between two other values EXTERNAL useFloor Reactive Math.floor EXTERNAL useMath Reactive Math methods EXTERNAL useMax Reactive Math.max EXTERNAL useMin Reactive Math.min EXTERNAL usePrecision Reactively set the precision of a number EXTERNAL useProjection Reactive numeric projection from one domain to another EXTERNAL useRound Reactive Math.round EXTERNAL useSum Get the sum of an array reactively EXTERNAL useTrunc Reactive Math.trunc EXTERNAL

@Motion

Function Description Invocation useElementStyle Sync a reactive object to a target element CSS styling EXTERNAL useElementTransform Sync a reactive object to a target element CSS transform. EXTERNAL useMotion Putting your components in motion. EXTERNAL useMotionProperties Access Motion Properties for a target element. EXTERNAL useMotionVariants Handle the Variants state and selection. EXTERNAL useSpring Spring animations. EXTERNAL

@Router

Function Description Invocation useRouteHash Shorthand for a reactive route.hash EXTERNAL useRouteParams Shorthand for a reactive route.params EXTERNAL useRouteQuery Shorthand for a reactive route.query EXTERNAL

@RxJS

Function Description Invocation from Wrappers around RxJS's from() and fromEvent() to allow them to accept refs EXTERNAL toObserver Sugar function to convert a ref into an RxJS Observer EXTERNAL useExtractedObservable Use an RxJS Observable as extracted from one or more composables EXTERNAL useObservable Use an RxJS Observable EXTERNAL useSubject Bind an RxJS Subject to a ref and propagate value changes both ways EXTERNAL useSubscription Use an RxJS Subscription without worrying about unsubscribing from it or creating memory leaks EXTERNAL watchExtractedObservable Watch the values of an RxJS Observable as extracted from one or more composables EXTERNAL

@SchemaOrg

Function Description Invocation createSchemaOrg Create the schema.org manager instance. EXTERNAL useSchemaOrg Update schema.org reactively. EXTERNAL

@Sound

Function Description Invocation useSound Play sound effects reactively. EXTERNAL

GitHub Owner

Owner: antfu

Files

createGlobalState

createInjectionState

createSharedComposable

injectLocal

provideLocal

useAsyncState

useDebouncedRefHistory

useLastChanged

useLocalStorage

useManualRefHistory

useRefHistory

useSessionStorage

useStorage

useStorageAsync

useThrottledRefHistory

useActiveElement

useDocumentVisibility

useDraggable

useDropZone

useElementBounding

useElementSize

useElementVisibility

useIntersectionObserver

useMouseInElement

useMutationObserver

useParentElement

useResizeObserver

useWindowFocus

useWindowScroll

useWindowSize

useBluetooth

useBreakpoints

useBroadcastChannel

useBrowserLocation

useClipboard

useClipboardItems

useColorMode

useCssSupports

useCssVar

useDark

useEventListener

useEyeDropper

useFavicon

useFileDialog

useFileSystemAccess

useFullscreen

useGamepad

useImage

useMediaControls

useMediaQuery

useMemory

useObjectUrl

usePerformanceObserver

usePermission

usePreferredColorScheme

usePreferredContrast

usePreferredDark

usePreferredLanguages

usePreferredReducedMotion

usePreferredReducedTransparency

useScreenOrientation

useScreenSafeArea

useScriptTag

useShare

useSSRWidth

useMediaQuery

useBreakpoints

useStyleTag

useTextareaAutosize

useTextDirection

useTitle

useUrlSearchParams

useVibrate

useWakeLock

useWebNotification

useWebWorker

useWebWorkerFn

onClickOutside

onElementRemoval

onKeyStroke

onLongPress

onStartTyping

useBattery

useDeviceMotion

useDeviceOrientation

useDevicePixelRatio

useDevicesList

useDisplayMedia

useElementByPoint

useElementHover

useFocus

useFocusWithin

useFps

useGeolocation

useIdle

useInfiniteScroll

useKeyModifier

useMagicKeys

useMouse

useMousePressed

useNavigatorLanguage

useNetwork

useOnline

usePageLeave

useParallax

usePointer

usePointerLock

usePointerSwipe

useScroll

useScrollLock

useSpeechRecognition

useSpeechSynthesis

useSwipe

useTextSelection

useUserMedia

useEventSource

useFetch

useWebSocket

useAnimate

useInterval

useIntervalFn

useNow

useRafFn

useTimeout

useTimeoutFn

useTimestamp

useTransition

computedInject

createReusableTemplate

createTemplatePromise

templateRef

tryOnBeforeMount

tryOnBeforeUnmount

tryOnMounted

tryOnScopeDispose

tryOnUnmounted

unrefElement

useCurrentElement

useMounted

useTemplateRefsList

useVirtualList

useVModel

useVModels

until

watchArray

watchAtMost

watchDebounced

watchDeep

watchIgnorable

watchImmediate

watchOnce

watchPausable

watchThrottled

watchTriggerable

watchWithFilter

whenever

computedAsync

computedEager

computedWithControl

createRef

extendRef

reactify

reactifyObject

reactiveComputed

reactiveOmit

reactivePick

refAutoReset

refDebounced

refDefault

refManualReset

refThrottled

refWithControl

syncRef

syncRefs

toReactive

toRef

toRefs

useArrayDifference

useArrayEvery

useArrayFilter

useArrayFind

useArrayFindIndex

useArrayFindLast

useArrayIncludes

useArrayJoin

useArrayMap

useArrayReduce

useArraySome

useArrayUnique

useSorted

useCountdown

useDateFormat

useTimeAgo

useTimeAgoIntl

createEventHook

createUnrefFn

get

isDefined

makeDestructurable

set

useAsyncQueue

useBase64

useCached

useCloned

useConfirmDialog

useCounter

useCycleList

useDebounceFn

useEventBus

useMemoize

useOffsetPagination

usePrevious

useStepper

useSupported

useThrottleFn

useTimeoutPoll

useToggle

useToNumber

useToString

useIpcRenderer

useIpcRendererInvoke

useIpcRendererOn

useZoomFactor

useZoomLevel

useAuth

useFirestore

useRTDB

useAsyncValidator

useAxios

useChangeCase

useCookies

useDrauu

useFocusTrap

useFuse

useIDBKeyval

useJwt

useNProgress

useQRCode

useSortable

createGenericProjection

createProjection

logicAnd

logicNot

logicOr

useAbs

useAverage

useCeil

useClamp

useFloor

useMath

useMax

useMin

usePrecision

useProjection

useRound

useSum

useTrunc

useRouteHash

useRouteParams

useRouteQuery

from

toObserver

useExtractedObservable

useObservable

useSubject

useSubscription

watchExtractedObservable

SKILL.md


name: vueuse-functions description: Apply VueUse composables where appropriate to build concise, maintainable Vue.js / Nuxt features. license: MIT metadata: author: SerKo https://github.com/serkodev version: "1.0" compatibility: Requires Vue 3 (or above) or Nuxt 3 (or above) project

VueUse Functions

This 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.

When to Apply

  • Apply this skill whenever assisting user development work in Vue.js / Nuxt.
  • Always check first whether a VueUse function can implement the requirement.
  • Prefer VueUse composables over custom code to improve readability, maintainability, and performance.
  • Map requirements to the most appropriate VueUse function and follow the function’s invocation rule.
  • Please refer to the Invocation field in the below functions table. For example:
    • AUTO: Use automatically when applicable.
    • EXTERNAL: Use only if the user already installed the required external dependency; otherwise reconsider, and ask to install only if truly needed.
    • EXPLICIT_ONLY: Use only when explicitly requested by the user.

    NOTE User instructions in the prompt or AGENTS.md may override a function’s default Invocation rule.

Functions

All functions listed below are part of the VueUse library, each section categorizes functions based on their functionality. IMPORTANT: 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.

State

FunctionDescriptionInvocation
createGlobalStateKeep states in the global scope to be reusable across Vue instancesAUTO
createInjectionStateCreate global state that can be injected into componentsAUTO
createSharedComposableMake a composable function usable with multiple Vue instancesAUTO
injectLocalExtended inject with ability to call provideLocal to provide the value in the same componentAUTO
provideLocalExtended provide with ability to call injectLocal to obtain the value in the same componentAUTO
useAsyncStateReactive async stateAUTO
useDebouncedRefHistoryShorthand for useRefHistory with debounced filterAUTO
useLastChangedRecords the timestamp of the last changeAUTO
useLocalStorageReactive LocalStorageAUTO
useManualRefHistoryManually track the change history of a ref when the using calls commit()AUTO
useRefHistoryTrack the change history of a refAUTO
useSessionStorageReactive SessionStorageAUTO
useStorageCreate a reactive ref that can be used to access & modify LocalStorage or SessionStorageAUTO
useStorageAsyncReactive Storage in with async supportAUTO
useThrottledRefHistoryShorthand for useRefHistory with throttled filterAUTO

Elements

FunctionDescriptionInvocation
useActiveElementReactive document.activeElementAUTO
useDocumentVisibilityReactively track document.visibilityStateAUTO
useDraggableMake elements draggableAUTO
useDropZoneCreate a zone where files can be droppedAUTO
useElementBoundingReactive bounding box of an HTML elementAUTO
useElementSizeReactive size of an HTML elementAUTO
useElementVisibilityTracks the visibility of an element within the viewportAUTO
useIntersectionObserverDetects that a target element's visibilityAUTO
useMouseInElementReactive mouse position related to an elementAUTO
useMutationObserverWatch for changes being made to the DOM treeAUTO
useParentElementGet parent element of the given elementAUTO
useResizeObserverReports changes to the dimensions of an Element's content or the border-boxAUTO
useWindowFocusReactively track window focus with window.onfocus and window.onblur eventsAUTO
useWindowScrollReactive window scrollAUTO
useWindowSizeReactive window sizeAUTO

Browser

FunctionDescriptionInvocation
useBluetoothReactive Web Bluetooth APIAUTO
useBreakpointsReactive viewport breakpointsAUTO
useBroadcastChannelReactive BroadcastChannel APIAUTO
useBrowserLocationReactive browser locationAUTO
useClipboardReactive Clipboard APIAUTO
useClipboardItemsReactive Clipboard APIAUTO
useColorModeReactive color mode (dark / light / customs) with auto data persistenceAUTO
useCssSupportsSSR compatible and reactive CSS.supportsAUTO
useCssVarManipulate CSS variablesAUTO
useDarkReactive dark mode with auto data persistenceAUTO
useEventListenerUse EventListener with easeAUTO
useEyeDropperReactive EyeDropper APIAUTO
useFaviconReactive faviconAUTO
useFileDialogOpen file dialog with easeAUTO
useFileSystemAccessCreate and read and write local files with FileSystemAccessAPIAUTO
useFullscreenReactive Fullscreen APIAUTO
useGamepadProvides reactive bindings for the Gamepad APIAUTO
useImageReactive load an image in the browserAUTO
useMediaControlsReactive media controls for both audio and video elementsAUTO
useMediaQueryReactive Media QueryAUTO
useMemoryReactive Memory InfoAUTO
useObjectUrlReactive URL representing an objectAUTO
usePerformanceObserverObserve performance metricsAUTO
usePermissionReactive Permissions APIAUTO
usePreferredColorSchemeReactive prefers-color-scheme media queryAUTO
usePreferredContrastReactive prefers-contrast media queryAUTO
usePreferredDarkReactive dark theme preferenceAUTO
usePreferredLanguagesReactive Navigator LanguagesAUTO
usePreferredReducedMotionReactive prefers-reduced-motion media queryAUTO
usePreferredReducedTransparencyReactive prefers-reduced-transparency media queryAUTO
useScreenOrientationReactive Screen Orientation APIAUTO
useScreenSafeAreaReactive env(safe-area-inset-*)AUTO
useScriptTagCreates a script tagAUTO
useShareReactive Web Share APIAUTO
useSSRWidthUsed to set a global viewport width which will be used when rendering SSR components that rely on the viewport width like useMediaQuery or useBreakpointsAUTO
useStyleTagInject reactive style element in headAUTO
useTextareaAutosizeAutomatically update the height of a textarea depending on the contentAUTO
useTextDirectionReactive dir of the element's textAUTO
useTitleReactive document titleAUTO
useUrlSearchParamsReactive URLSearchParamsAUTO
useVibrateReactive Vibration APIAUTO
useWakeLockReactive Screen Wake Lock APIAUTO
useWebNotificationReactive NotificationAUTO
useWebWorkerSimple Web Workers registration and communicationAUTO
useWebWorkerFnRun expensive functions without blocking the UIAUTO

Sensors

FunctionDescriptionInvocation
onClickOutsideListen for clicks outside of an elementAUTO
onElementRemovalFires when the element or any element containing it is removed from the DOMAUTO
onKeyStrokeListen for keyboard keystrokesAUTO
onLongPressListen for a long press on an elementAUTO
onStartTypingFires when users start typing on non-editable elementsAUTO
useBatteryReactive Battery Status APIAUTO
useDeviceMotionReactive DeviceMotionEventAUTO
useDeviceOrientationReactive DeviceOrientationEventAUTO
useDevicePixelRatioReactively track window.devicePixelRatioAUTO
useDevicesListReactive enumerateDevices listing available input/output devicesAUTO
useDisplayMediaReactive mediaDevices.getDisplayMedia streamingAUTO
useElementByPointReactive element by pointAUTO
useElementHoverReactive element's hover stateAUTO
useFocusReactive utility to track or set the focus state of a DOM elementAUTO
useFocusWithinReactive utility to track if an element or one of its decendants has focusAUTO
useFpsReactive FPS (frames per second)AUTO
useGeolocationReactive Geolocation APIAUTO
useIdleTracks whether the user is being inactiveAUTO
useInfiniteScrollInfinite scrolling of the elementAUTO
useKeyModifierReactive Modifier StateAUTO
useMagicKeysReactive keys pressed stateAUTO
useMouseReactive mouse positionAUTO
useMousePressedReactive mouse pressing stateAUTO
useNavigatorLanguageReactive navigator.languageAUTO
useNetworkReactive Network statusAUTO
useOnlineReactive online stateAUTO
usePageLeaveReactive state to show whether the mouse leaves the pageAUTO
useParallaxCreate parallax effect easilyAUTO
usePointerReactive pointer stateAUTO
usePointerLockReactive pointer lockAUTO
usePointerSwipeReactive swipe detection based on PointerEventsAUTO
useScrollReactive scroll position and stateAUTO
useScrollLockLock scrolling of the elementAUTO
useSpeechRecognitionReactive SpeechRecognitionAUTO
useSpeechSynthesisReactive SpeechSynthesisAUTO
useSwipeReactive swipe detection based on TouchEventsAUTO
useTextSelectionReactively track user text selection based on Window.getSelectionAUTO
useUserMediaReactive mediaDevices.getUserMedia streamingAUTO

Network

FunctionDescriptionInvocation
useEventSourceAn EventSource or Server-Sent-Events instance opens a persistent connection to an HTTP serverAUTO
useFetchReactive Fetch API provides the ability to abort requestsAUTO
useWebSocketReactive WebSocket clientAUTO

Animation

FunctionDescriptionInvocation
useAnimateReactive Web Animations APIAUTO
useIntervalReactive counter that increases on every intervalAUTO
useIntervalFnWrapper for setInterval with controlsAUTO
useNowReactive current Date instanceAUTO
useRafFnCall function on every requestAnimationFrameAUTO
useTimeoutReactive value that becomes true after a given timeAUTO
useTimeoutFnWrapper for setTimeout with controlsAUTO
useTimestampReactive current timestampAUTO
useTransitionTransition between valuesAUTO

Component

FunctionDescriptionInvocation
computedInjectCombine computed and injectAUTO
createReusableTemplateDefine and reuse template inside the component scopeAUTO
createTemplatePromiseTemplate as PromiseAUTO
templateRefShorthand for binding ref to template elementAUTO
tryOnBeforeMountSafe onBeforeMountAUTO
tryOnBeforeUnmountSafe onBeforeUnmountAUTO
tryOnMountedSafe onMountedAUTO
tryOnScopeDisposeSafe onScopeDisposeAUTO
tryOnUnmountedSafe onUnmountedAUTO
unrefElementRetrieves the underlying DOM element from a Vue ref or component instanceAUTO
useCurrentElementGet the DOM element of current component as a refAUTO
useMountedMounted state in refAUTO
useTemplateRefsListShorthand for binding refs to template elements and components inside v-forAUTO
useVirtualListCreate virtual lists with easeAUTO
useVModelShorthand for v-model bindingAUTO
useVModelsShorthand for props v-model bindingAUTO

Watch

FunctionDescriptionInvocation
untilPromised one-time watch for changesAUTO
watchArrayWatch for an array with additions and removalsAUTO
watchAtMostwatch with the number of times triggeredAUTO
watchDebouncedDebounced watchAUTO
watchDeepShorthand for watching value with {deep: true}AUTO
watchIgnorableIgnorable watchAUTO
watchImmediateShorthand for watching value with {immediate: true}AUTO
watchOnceShorthand for watching value with { once: true }AUTO
watchPausablePausable watchAUTO
watchThrottledThrottled watchAUTO
watchTriggerableWatch that can be triggered manuallyAUTO
watchWithFilterwatch with additional EventFilter controlAUTO
wheneverShorthand for watching value to be truthyAUTO

Reactivity

FunctionDescriptionInvocation
computedAsyncComputed for async functionsAUTO
computedEagerEager computed without lazy evaluationAUTO
computedWithControlExplicitly define the dependencies of computedAUTO
createRefReturns a deepRef or shallowRef depending on the deep paramAUTO
extendRefAdd extra attributes to RefAUTO
reactifyConverts plain functions into reactive functionsAUTO
reactifyObjectApply reactify to an objectAUTO
reactiveComputedComputed reactive objectAUTO
reactiveOmitReactively omit fields from a reactive objectAUTO
reactivePickReactively pick fields from a reactive objectAUTO
refAutoResetA ref which will be reset to the default value after some timeAUTO
refDebouncedDebounce execution of a ref valueAUTO
refDefaultApply default value to a refAUTO
refManualResetCreate a ref with manual reset functionalityAUTO
refThrottledThrottle changing of a ref valueAUTO
refWithControlFine-grained controls over ref and its reactivityAUTO
syncRefTwo-way refs synchronizationAUTO
syncRefsKeep target refs in sync with a source refAUTO
toReactiveConverts ref to reactiveAUTO
toRefNormalize value/ref/getter to ref or computedEXPLICIT_ONLY
toRefsExtended toRefs that also accepts refs of an objectAUTO

Array

FunctionDescriptionInvocation
useArrayDifferenceReactive get array difference of two arraysAUTO
useArrayEveryReactive Array.everyAUTO
useArrayFilterReactive Array.filterAUTO
useArrayFindReactive Array.findAUTO
useArrayFindIndexReactive Array.findIndexAUTO
useArrayFindLastReactive Array.findLastAUTO
useArrayIncludesReactive Array.includesAUTO
useArrayJoinReactive Array.joinAUTO
useArrayMapReactive Array.mapAUTO
useArrayReduceReactive Array.reduceAUTO
useArraySomeReactive Array.someAUTO
useArrayUniqueReactive unique arrayAUTO
useSortedReactive sort arrayAUTO

Time

FunctionDescriptionInvocation
useCountdownReactive countdown timer in secondsAUTO
useDateFormatGet the formatted date according to the string of tokens passed inAUTO
useTimeAgoReactive time agoAUTO
useTimeAgoIntlReactive time ago with i18n supportedAUTO

Utilities

FunctionDescriptionInvocation
createEventHookUtility for creating event hooksAUTO
createUnrefFnMake a plain function accepting ref and raw values as argumentsAUTO
getShorthand for accessing ref.valueEXPLICIT_ONLY
isDefinedNon-nullish checking type guard for RefAUTO
makeDestructurableMake isomorphic destructurable for object and array at the same timeAUTO
setShorthand for ref.value = xEXPLICIT_ONLY
useAsyncQueueExecutes each asynchronous task sequentially and passes the current task result to the next taskAUTO
useBase64Reactive base64 transformingAUTO
useCachedCache a ref with a custom comparatorAUTO
useClonedReactive clone of a refAUTO
useConfirmDialogCreates event hooks to support modals and confirmation dialog chainsAUTO
useCounterBasic counter with utility functionsAUTO
useCycleListCycle through a list of itemsAUTO
useDebounceFnDebounce execution of a functionAUTO
useEventBusA basic event busAUTO
useMemoizeCache results of functions depending on arguments and keep it reactiveAUTO
useOffsetPaginationReactive offset paginationAUTO
usePreviousHolds the previous value of a refAUTO
useStepperProvides helpers for building a multi-step wizard interfaceAUTO
useSupportedSSR compatibility isSupportedAUTO
useThrottleFnThrottle execution of a functionAUTO
useTimeoutPollUse timeout to poll somethingAUTO
useToggleA boolean switcher with utility functionsAUTO
useToNumberReactively convert a string ref to numberAUTO
useToStringReactively convert a ref to stringAUTO

@Electron

FunctionDescriptionInvocation
useIpcRendererProvides ipcRenderer and all of its APIs with Vue reactivityEXTERNAL
useIpcRendererInvokeReactive ipcRenderer.invoke API resultEXTERNAL
useIpcRendererOnUse ipcRenderer.on with ease and ipcRenderer.removeListener automatically on unmountedEXTERNAL
useZoomFactorReactive WebFrame zoom factorEXTERNAL
useZoomLevelReactive WebFrame zoom levelEXTERNAL

@Firebase

FunctionDescriptionInvocation
useAuthReactive Firebase Auth bindingEXTERNAL
useFirestoreReactive Firestore bindingEXTERNAL
useRTDBReactive Firebase Realtime Database bindingEXTERNAL

@Head

FunctionDescriptionInvocation
createHeadCreate the head manager instance.EXTERNAL
useHeadUpdate head meta tags reactively.EXTERNAL

@Integrations

FunctionDescriptionInvocation
useAsyncValidatorWrapper for async-validatorEXTERNAL
useAxiosWrapper for axiosEXTERNAL
useChangeCaseReactive wrapper for change-caseEXTERNAL
useCookiesWrapper for universal-cookieEXTERNAL
useDrauuReactive instance for drauuEXTERNAL
useFocusTrapReactive wrapper for focus-trapEXTERNAL
useFuseEasily implement fuzzy search using a composable with Fuse.jsEXTERNAL
useIDBKeyvalWrapper for idb-keyvalEXTERNAL
useJwtWrapper for jwt-decodeEXTERNAL
useNProgressReactive wrapper for nprogressEXTERNAL
useQRCodeWrapper for qrcodeEXTERNAL
useSortableWrapper for sortableEXTERNAL

@Math

FunctionDescriptionInvocation
createGenericProjectionGeneric version of createProjectionEXTERNAL
createProjectionReactive numeric projection from one domain to anotherEXTERNAL
logicAndAND condition for refsEXTERNAL
logicNotNOT condition for refEXTERNAL
logicOrOR conditions for refsEXTERNAL
useAbsReactive Math.absEXTERNAL
useAverageGet the average of an array reactivelyEXTERNAL
useCeilReactive Math.ceilEXTERNAL
useClampReactively clamp a value between two other valuesEXTERNAL
useFloorReactive Math.floorEXTERNAL
useMathReactive Math methodsEXTERNAL
useMaxReactive Math.maxEXTERNAL
useMinReactive Math.minEXTERNAL
usePrecisionReactively set the precision of a numberEXTERNAL
useProjectionReactive numeric projection from one domain to anotherEXTERNAL
useRoundReactive Math.roundEXTERNAL
useSumGet the sum of an array reactivelyEXTERNAL
useTruncReactive Math.truncEXTERNAL

@Motion

FunctionDescriptionInvocation
useElementStyleSync a reactive object to a target element CSS stylingEXTERNAL
useElementTransformSync a reactive object to a target element CSS transform.EXTERNAL
useMotionPutting your components in motion.EXTERNAL
useMotionPropertiesAccess Motion Properties for a target element.EXTERNAL
useMotionVariantsHandle the Variants state and selection.EXTERNAL
useSpringSpring animations.EXTERNAL

@Router

FunctionDescriptionInvocation
useRouteHashShorthand for a reactive route.hashEXTERNAL
useRouteParamsShorthand for a reactive route.paramsEXTERNAL
useRouteQueryShorthand for a reactive route.queryEXTERNAL

@RxJS

FunctionDescriptionInvocation
fromWrappers around RxJS's from() and fromEvent() to allow them to accept refsEXTERNAL
toObserverSugar function to convert a ref into an RxJS ObserverEXTERNAL
useExtractedObservableUse an RxJS Observable as extracted from one or more composablesEXTERNAL
useObservableUse an RxJS ObservableEXTERNAL
useSubjectBind an RxJS Subject to a ref and propagate value changes both waysEXTERNAL
useSubscriptionUse an RxJS Subscription without worrying about unsubscribing from it or creating memory leaksEXTERNAL
watchExtractedObservableWatch the values of an RxJS Observable as extracted from one or more composablesEXTERNAL

@SchemaOrg

FunctionDescriptionInvocation
createSchemaOrgCreate the schema.org manager instance.EXTERNAL
useSchemaOrgUpdate schema.org reactively.EXTERNAL

@Sound

FunctionDescriptionInvocation
useSoundPlay sound effects reactively.EXTERNAL

More skills