@vueuse/metadata
Version:
Metadata for VueUse functions
1,569 lines (1,568 loc) • 85.4 kB
JSON
{
"packages": {
"shared": {
"name": "shared",
"display": "Shared utilities",
"dir": "packages/shared"
},
"core": {
"name": "core",
"display": "VueUse",
"description": "Collection of essential Vue Composition Utilities",
"dir": "packages/core"
},
"components": {
"name": "components",
"display": "Components",
"description": "Renderless components for VueUse",
"author": "Jacob Clevenger<https://github.com/wheatjs>",
"dir": "packages/components"
},
"math": {
"name": "math",
"display": "Math",
"description": "Math functions for VueUse",
"dir": "packages/math"
},
"router": {
"name": "router",
"display": "Router",
"description": "Utilities for vue-router",
"addon": true,
"external": [
"vue-router"
],
"globals": {
"vue-router": "VueRouter"
},
"dir": "packages/router",
"docs": "https://vueuse.org/router/README.html"
},
"integrations": {
"name": "integrations",
"display": "Integrations",
"description": "Integration wrappers for utility libraries",
"addon": true,
"submodules": true,
"external": [
"axios",
"universal-cookie",
"qrcode",
"http",
"nprogress",
"jwt-decode",
"focus-trap",
"change-case",
"drauu",
"fuse.js",
"async-validator",
"idb-keyval",
"sortablejs",
"node:http"
],
"globals": {
"axios": "axios",
"universal-cookie": "UniversalCookie",
"qrcode": "QRCode",
"nprogress": "nprogress",
"jwt-decode": "jwt_decode",
"focus-trap": "focusTrap",
"drauu": "Drauu",
"fuse.js": "Fuse",
"change-case": "changeCase",
"async-validator": "AsyncValidator",
"idb-keyval": "idbKeyval",
"sortablejs": "Sortable"
},
"dir": "packages/integrations",
"docs": "https://vueuse.org/integrations/README.html"
},
"rxjs": {
"name": "rxjs",
"display": "RxJS",
"description": "Enables RxJS reactive functions in Vue",
"addon": true,
"external": [
"rxjs",
"rxjs/operators"
],
"globals": {
"rxjs": "rxjs",
"rxjs/operators": "rxjs.operator"
},
"dir": "packages/rxjs",
"docs": "https://vueuse.org/rxjs/README.html"
},
"firebase": {
"name": "firebase",
"display": "Firebase",
"description": "Enables realtime bindings for Firebase",
"addon": true,
"submodules": true,
"external": [
"firebase",
"firebase/app",
"firebase/database",
"firebase/firestore"
],
"globals": {
"firebase": "firebase",
"firebase/app": "firebase",
"firebase/database": "firebase",
"firebase/firestore": "firebase"
},
"dir": "packages/firebase",
"docs": "https://vueuse.org/firebase/README.html"
},
"electron": {
"name": "electron",
"display": "Electron",
"description": "Electron renderer process modules for VueUse",
"author": "Archer Gu<https://github.com/ArcherGu>",
"addon": true,
"external": [
"electron"
],
"iife": false,
"dir": "packages/electron",
"docs": "https://vueuse.org/electron/README.html"
}
},
"categories": [
"Animation",
"Array",
"Browser",
"Component",
"Elements",
"Network",
"Reactivity",
"Sensors",
"State",
"Time",
"Utilities",
"Watch",
"@Electron",
"@Firebase",
"@Head",
"@Integrations",
"@Math",
"@Motion",
"@Router",
"@RxJS",
"@SchemaOrg",
"@Sound"
],
"functions": [
{
"name": "computedAsync",
"package": "core",
"lastUpdated": 1767923245000,
"docs": "https://vueuse.org/core/computedAsync/",
"category": "Reactivity",
"description": "computed for async functions",
"alias": [
"asyncComputed"
]
},
{
"name": "computedEager",
"package": "shared",
"lastUpdated": 1774958324000,
"docs": "https://vueuse.org/shared/computedEager/",
"category": "Reactivity",
"description": "eager computed without lazy evaluation",
"alias": [
"eagerComputed"
]
},
{
"name": "computedInject",
"package": "core",
"lastUpdated": 1767755257000,
"docs": "https://vueuse.org/core/computedInject/",
"category": "Component",
"description": "combine `computed` and `inject`"
},
{
"name": "computedWithControl",
"package": "shared",
"lastUpdated": 1767755257000,
"docs": "https://vueuse.org/shared/computedWithControl/",
"category": "Reactivity",
"description": "explicitly define the dependencies of computed",
"alias": [
"controlledComputed"
],
"related": [
"refWithControl"
]
},
{
"name": "createDisposableDirective",
"package": "shared",
"lastUpdated": 1776333975000,
"docs": "https://vueuse.org/shared/createDisposableDirective/",
"category": "Utilities",
"description": "utility for authoring disposable directives"
},
{
"name": "createEventHook",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/createEventHook/",
"category": "Utilities",
"description": "utility for creating event hooks"
},
{
"name": "createGenericProjection",
"package": "math",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/math/createGenericProjection/",
"category": "@Math",
"description": "generic version of `createProjection`",
"related": [
"createProjection",
"useProjection"
]
},
{
"name": "createGlobalState",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/createGlobalState/",
"category": "State",
"description": "keep states in the global scope to be reusable across Vue instances",
"related": [
"createSharedComposable"
]
},
{
"name": "createHead",
"package": "head",
"description": "create the head manager instance.",
"category": "@Head",
"external": "https://github.com/vueuse/head#api"
},
{
"name": "createInjectionState",
"package": "shared",
"lastUpdated": 1773022945000,
"docs": "https://vueuse.org/shared/createInjectionState/",
"category": "State",
"description": "create global state that can be injected into components"
},
{
"name": "createProjection",
"package": "math",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/math/createProjection/",
"category": "@Math",
"description": "reactive numeric projection from one domain to another",
"related": [
"createGenericProjection",
"useProjection"
]
},
{
"name": "createRef",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/createRef/",
"category": "Reactivity",
"description": "returns a `deepRef` or `shallowRef` depending on the `deep` param"
},
{
"name": "createReusableTemplate",
"package": "core",
"lastUpdated": 1772276777000,
"docs": "https://vueuse.org/core/createReusableTemplate/",
"category": "Component",
"description": "define and reuse template inside the component scope"
},
{
"name": "createSchemaOrg",
"package": "schema-org",
"description": "create the schema.org manager instance.",
"category": "@SchemaOrg",
"external": "https://vue-schema-org.netlify.app/api/core/create-schema-org.html"
},
{
"name": "createSharedComposable",
"package": "shared",
"lastUpdated": 1758032331000,
"docs": "https://vueuse.org/shared/createSharedComposable/",
"category": "State",
"description": "make a composable function usable with multiple Vue instances",
"related": [
"createGlobalState"
]
},
{
"name": "createTemplatePromise",
"package": "core",
"lastUpdated": 1758032485000,
"docs": "https://vueuse.org/core/createTemplatePromise/",
"category": "Component",
"description": "template as Promise"
},
{
"name": "createUnrefFn",
"package": "core",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/core/createUnrefFn/",
"category": "Utilities",
"description": "make a plain function accepting ref and raw values as arguments",
"related": [
"reactify"
]
},
{
"name": "extendRef",
"package": "shared",
"lastUpdated": 1744088337000,
"docs": "https://vueuse.org/shared/extendRef/",
"category": "Reactivity",
"description": "add extra attributes to Ref"
},
{
"name": "from",
"package": "rxjs",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/rxjs/from/",
"category": "@RxJS",
"description": "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"
},
{
"name": "get",
"package": "shared",
"lastUpdated": 1753513037000,
"docs": "https://vueuse.org/shared/get/",
"category": "Utilities",
"description": "shorthand for accessing `ref.value`"
},
{
"name": "injectLocal",
"package": "shared",
"lastUpdated": 1758403186000,
"docs": "https://vueuse.org/shared/injectLocal/",
"category": "State",
"description": "extended `inject` with ability to call `provideLocal` to provide the value in the same component"
},
{
"name": "isDefined",
"package": "shared",
"lastUpdated": 1744088337000,
"docs": "https://vueuse.org/shared/isDefined/",
"category": "Utilities",
"description": "non-nullish checking type guard for Ref"
},
{
"name": "logicAnd",
"package": "math",
"lastUpdated": 1757478278000,
"docs": "https://vueuse.org/math/logicAnd/",
"category": "@Math",
"description": "`AND` condition for refs",
"alias": [
"and"
],
"related": [
"logicNot",
"logicOr"
]
},
{
"name": "logicNot",
"package": "math",
"lastUpdated": 1757478278000,
"docs": "https://vueuse.org/math/logicNot/",
"category": "@Math",
"description": "`NOT` condition for ref",
"alias": [
"not"
],
"related": [
"logicAnd",
"logicOr"
]
},
{
"name": "logicOr",
"package": "math",
"lastUpdated": 1757478278000,
"docs": "https://vueuse.org/math/logicOr/",
"category": "@Math",
"description": "`OR` conditions for refs",
"alias": [
"or"
],
"related": [
"logicAnd",
"logicNot"
]
},
{
"name": "makeDestructurable",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/makeDestructurable/",
"category": "Utilities",
"description": "make isomorphic destructurable for object and array at the same time"
},
{
"name": "onClickOutside",
"package": "core",
"lastUpdated": 1774956330000,
"component": true,
"directive": true,
"docs": "https://vueuse.org/core/onClickOutside/",
"category": "Sensors",
"description": "listen for clicks outside of an element"
},
{
"name": "onElementRemoval",
"package": "core",
"lastUpdated": 1735805567000,
"docs": "https://vueuse.org/core/onElementRemoval/",
"category": "Sensors",
"description": "fires when the element or any element containing it is removed from the DOM"
},
{
"name": "onKeyStroke",
"package": "core",
"lastUpdated": 1741147666000,
"directive": true,
"docs": "https://vueuse.org/core/onKeyStroke/",
"category": "Sensors",
"description": "listen for keyboard keystrokes",
"variants": [
"onKeyDown",
"onKeyUp",
"onKeyPressed"
]
},
{
"name": "onLongPress",
"package": "core",
"lastUpdated": 1770892341000,
"component": true,
"directive": true,
"docs": "https://vueuse.org/core/onLongPress/",
"category": "Sensors",
"description": "listen for a long press on an element"
},
{
"name": "onStartTyping",
"package": "core",
"lastUpdated": 1740966535000,
"docs": "https://vueuse.org/core/onStartTyping/",
"category": "Sensors",
"description": "fires when users start typing on non-editable elements"
},
{
"name": "provideLocal",
"package": "shared",
"lastUpdated": 1758403186000,
"docs": "https://vueuse.org/shared/provideLocal/",
"category": "State",
"description": "extended `provide` with ability to call `injectLocal` to obtain the value in the same component"
},
{
"name": "reactify",
"package": "shared",
"lastUpdated": 1758032498000,
"docs": "https://vueuse.org/shared/reactify/",
"category": "Reactivity",
"description": "converts plain functions into reactive functions",
"alias": [
"createReactiveFn"
],
"related": [
"createUnrefFn"
]
},
{
"name": "reactifyObject",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/reactifyObject/",
"category": "Reactivity",
"description": "apply `reactify` to an object"
},
{
"name": "reactiveComputed",
"package": "shared",
"lastUpdated": 1744088337000,
"docs": "https://vueuse.org/shared/reactiveComputed/",
"category": "Reactivity",
"description": "computed reactive object"
},
{
"name": "reactiveOmit",
"package": "shared",
"lastUpdated": 1758032498000,
"docs": "https://vueuse.org/shared/reactiveOmit/",
"category": "Reactivity",
"description": "reactively omit fields from a reactive object"
},
{
"name": "reactivePick",
"package": "shared",
"lastUpdated": 1767755257000,
"docs": "https://vueuse.org/shared/reactivePick/",
"category": "Reactivity",
"description": "reactively pick fields from a reactive object"
},
{
"name": "refAutoReset",
"package": "shared",
"lastUpdated": 1757478278000,
"docs": "https://vueuse.org/shared/refAutoReset/",
"category": "Reactivity",
"description": "a ref which will be reset to the default value after some time",
"alias": [
"autoResetRef"
]
},
{
"name": "refDebounced",
"package": "shared",
"lastUpdated": 1757478278000,
"docs": "https://vueuse.org/shared/refDebounced/",
"category": "Reactivity",
"description": "debounce execution of a ref value",
"alias": [
"useDebounce",
"debouncedRef"
],
"related": [
"useThrottleFn"
]
},
{
"name": "refDefault",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/refDefault/",
"category": "Reactivity",
"description": "apply default value to a ref"
},
{
"name": "refManualReset",
"package": "shared",
"lastUpdated": 1767923530000,
"docs": "https://vueuse.org/shared/refManualReset/",
"category": "Reactivity",
"description": "create a ref with manual reset functionality"
},
{
"name": "refThrottled",
"package": "shared",
"lastUpdated": 1757478278000,
"docs": "https://vueuse.org/shared/refThrottled/",
"category": "Reactivity",
"description": "throttle changing of a ref value",
"alias": [
"useThrottle",
"throttledRef"
],
"related": [
"useThrottleFn"
]
},
{
"name": "refWithControl",
"package": "shared",
"lastUpdated": 1757478278000,
"docs": "https://vueuse.org/shared/refWithControl/",
"category": "Reactivity",
"description": "fine-grained controls over ref and its reactivity",
"alias": [
"controlledRef"
],
"related": [
"computedWithControl"
]
},
{
"name": "set",
"package": "shared",
"lastUpdated": 1732178709000,
"docs": "https://vueuse.org/shared/set/",
"category": "Utilities",
"description": "shorthand for `ref.value = x`"
},
{
"name": "syncRef",
"package": "shared",
"lastUpdated": 1764573571000,
"docs": "https://vueuse.org/shared/syncRef/",
"category": "Reactivity",
"description": "two-way refs synchronization",
"related": [
"syncRefs"
]
},
{
"name": "syncRefs",
"package": "shared",
"lastUpdated": 1741154516000,
"docs": "https://vueuse.org/shared/syncRefs/",
"category": "Reactivity",
"description": "keep target refs in sync with a source ref",
"related": [
"syncRef"
]
},
{
"name": "templateRef",
"package": "core",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/core/templateRef/",
"category": "Component",
"description": "shorthand for binding ref to template element"
},
{
"name": "toObserver",
"package": "rxjs",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/rxjs/toObserver/",
"category": "@RxJS",
"description": "sugar function to convert a `ref` into an RxJS [Observer](https://rxjs.dev/guide/observer)"
},
{
"name": "toReactive",
"package": "shared",
"lastUpdated": 1741147666000,
"docs": "https://vueuse.org/shared/toReactive/",
"category": "Reactivity",
"description": "converts ref to reactive"
},
{
"name": "toRef",
"package": "shared",
"lastUpdated": 1774958324000,
"docs": "https://vueuse.org/shared/toRef/",
"category": "Reactivity",
"description": "normalize value/ref/getter to `ref` or `computed`"
},
{
"name": "toRefs",
"package": "shared",
"lastUpdated": 1744088337000,
"docs": "https://vueuse.org/shared/toRefs/",
"category": "Reactivity",
"description": "extended [`toRefs`](https://vuejs.org/api/reactivity-utilities.html#torefs) that also accepts refs of an object"
},
{
"name": "tryOnBeforeMount",
"package": "shared",
"lastUpdated": 1758696813000,
"docs": "https://vueuse.org/shared/tryOnBeforeMount/",
"category": "Component",
"description": "safe `onBeforeMount`"
},
{
"name": "tryOnBeforeUnmount",
"package": "shared",
"lastUpdated": 1758696813000,
"docs": "https://vueuse.org/shared/tryOnBeforeUnmount/",
"category": "Component",
"description": "safe `onBeforeUnmount`"
},
{
"name": "tryOnMounted",
"package": "shared",
"lastUpdated": 1758696813000,
"docs": "https://vueuse.org/shared/tryOnMounted/",
"category": "Component",
"description": "safe `onMounted`"
},
{
"name": "tryOnScopeDispose",
"package": "shared",
"lastUpdated": 1758668657000,
"docs": "https://vueuse.org/shared/tryOnScopeDispose/",
"category": "Component",
"description": "safe `onScopeDispose`"
},
{
"name": "tryOnUnmounted",
"package": "shared",
"lastUpdated": 1758696813000,
"docs": "https://vueuse.org/shared/tryOnUnmounted/",
"category": "Component",
"description": "safe `onUnmounted`"
},
{
"name": "unrefElement",
"package": "core",
"lastUpdated": 1741147666000,
"docs": "https://vueuse.org/core/unrefElement/",
"category": "Component",
"description": "retrieves the underlying DOM element from a Vue ref or component instance"
},
{
"name": "until",
"package": "shared",
"lastUpdated": 1767923245000,
"docs": "https://vueuse.org/shared/until/",
"category": "Watch",
"description": "promised one-time watch for changes"
},
{
"name": "useAbs",
"package": "math",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/math/useAbs/",
"category": "@Math",
"description": "reactive `Math.abs`"
},
{
"name": "useActiveElement",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useActiveElement/",
"category": "Elements",
"description": "reactive `document.activeElement`"
},
{
"name": "useAnimate",
"package": "core",
"lastUpdated": 1770013115000,
"docs": "https://vueuse.org/core/useAnimate/",
"category": "Animation",
"description": "reactive [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API)"
},
{
"name": "useArrayDifference",
"package": "shared",
"lastUpdated": 1767755257000,
"docs": "https://vueuse.org/shared/useArrayDifference/",
"category": "Array",
"description": "reactive get array difference of two arrays"
},
{
"name": "useArrayEvery",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayEvery/",
"category": "Array",
"description": "reactive `Array.every`"
},
{
"name": "useArrayFilter",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayFilter/",
"category": "Array",
"description": "reactive `Array.filter`"
},
{
"name": "useArrayFind",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayFind/",
"category": "Array",
"description": "reactive `Array.find`"
},
{
"name": "useArrayFindIndex",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayFindIndex/",
"category": "Array",
"description": "reactive `Array.findIndex`"
},
{
"name": "useArrayFindLast",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayFindLast/",
"category": "Array",
"description": "reactive `Array.findLast`"
},
{
"name": "useArrayIncludes",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayIncludes/",
"category": "Array",
"description": "reactive `Array.includes`"
},
{
"name": "useArrayJoin",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayJoin/",
"category": "Array",
"description": "reactive `Array.join`"
},
{
"name": "useArrayMap",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayMap/",
"category": "Array",
"description": "reactive `Array.map`"
},
{
"name": "useArrayReduce",
"package": "shared",
"lastUpdated": 1764120879000,
"docs": "https://vueuse.org/shared/useArrayReduce/",
"category": "Array",
"description": "reactive `Array.reduce`"
},
{
"name": "useArraySome",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArraySome/",
"category": "Array",
"description": "reactive `Array.some`"
},
{
"name": "useArrayUnique",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useArrayUnique/",
"category": "Array",
"description": "reactive unique array"
},
{
"name": "useAsyncQueue",
"package": "core",
"lastUpdated": 1764121112000,
"docs": "https://vueuse.org/core/useAsyncQueue/",
"category": "Utilities",
"description": "executes each asynchronous task sequentially and passes the current task result to the next task"
},
{
"name": "useAsyncState",
"package": "core",
"lastUpdated": 1766198217000,
"docs": "https://vueuse.org/core/useAsyncState/",
"category": "State",
"description": "reactive async state"
},
{
"name": "useAsyncValidator",
"package": "integrations",
"lastUpdated": 1741147666000,
"component": true,
"docs": "https://vueuse.org/integrations/useAsyncValidator/",
"category": "@Integrations",
"description": "wrapper for [`async-validator`](https://github.com/yiminghe/async-validator)",
"importPath": "integrations/useAsyncValidator"
},
{
"name": "useAuth",
"package": "firebase",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/firebase/useAuth/",
"category": "@Firebase",
"description": "reactive [Firebase Auth](https://firebase.google.com/docs/auth) binding",
"importPath": "firebase/useAuth"
},
{
"name": "useAverage",
"package": "math",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/math/useAverage/",
"category": "@Math",
"description": "get the average of an array reactively"
},
{
"name": "useAxios",
"package": "integrations",
"lastUpdated": 1773022965000,
"docs": "https://vueuse.org/integrations/useAxios/",
"category": "@Integrations",
"description": "wrapper for [`axios`](https://github.com/axios/axios)",
"importPath": "integrations/useAxios"
},
{
"name": "useBase64",
"package": "core",
"lastUpdated": 1741147666000,
"docs": "https://vueuse.org/core/useBase64/",
"category": "Utilities",
"description": "reactive base64 transforming"
},
{
"name": "useBattery",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useBattery/",
"category": "Sensors",
"description": "reactive [Battery Status API](https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API)"
},
{
"name": "useBluetooth",
"package": "core",
"lastUpdated": 1774958324000,
"docs": "https://vueuse.org/core/useBluetooth/",
"category": "Browser",
"description": "reactive [Web Bluetooth API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API)"
},
{
"name": "useBreakpoints",
"package": "core",
"lastUpdated": 1770099476000,
"docs": "https://vueuse.org/core/useBreakpoints/",
"category": "Browser",
"description": "reactive viewport breakpoints"
},
{
"name": "useBroadcastChannel",
"package": "core",
"lastUpdated": 1772346044000,
"docs": "https://vueuse.org/core/useBroadcastChannel/",
"category": "Browser",
"description": "reactive [BroadcastChannel API](https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel)"
},
{
"name": "useBrowserLocation",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useBrowserLocation/",
"category": "Browser",
"description": "reactive browser location"
},
{
"name": "useCached",
"package": "core",
"lastUpdated": 1777274138000,
"docs": "https://vueuse.org/core/useCached/",
"category": "Utilities",
"description": "cache a ref with a custom comparator"
},
{
"name": "useCeil",
"package": "math",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/math/useCeil/",
"category": "@Math",
"description": "reactive `Math.ceil`"
},
{
"name": "useChangeCase",
"package": "integrations",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/integrations/useChangeCase/",
"category": "@Integrations",
"description": "reactive wrapper for [`change-case`](https://github.com/blakeembrey/change-case)",
"importPath": "integrations/useChangeCase"
},
{
"name": "useClamp",
"package": "math",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/math/useClamp/",
"category": "@Math",
"description": "reactively clamp a value between two other values"
},
{
"name": "useClipboard",
"package": "core",
"lastUpdated": 1776996700000,
"component": true,
"docs": "https://vueuse.org/core/useClipboard/",
"category": "Browser",
"description": "reactive [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API)",
"related": [
"useClipboardItems"
]
},
{
"name": "useClipboardItems",
"package": "core",
"lastUpdated": 1774958324000,
"docs": "https://vueuse.org/core/useClipboardItems/",
"category": "Browser",
"description": "reactive [Clipboard API](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API)",
"related": [
"useClipboard"
]
},
{
"name": "useCloned",
"package": "core",
"lastUpdated": 1741147666000,
"docs": "https://vueuse.org/core/useCloned/",
"category": "Utilities",
"description": "reactive clone of a ref"
},
{
"name": "useColorMode",
"package": "core",
"lastUpdated": 1751427119000,
"component": true,
"docs": "https://vueuse.org/core/useColorMode/",
"category": "Browser",
"description": "reactive color mode (dark / light / customs) with auto data persistence",
"related": [
"useDark",
"usePreferredDark",
"useStorage"
]
},
{
"name": "useConfirmDialog",
"package": "core",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/core/useConfirmDialog/",
"category": "Utilities",
"description": "creates event hooks to support modals and confirmation dialog chains"
},
{
"name": "useCookies",
"package": "integrations",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/integrations/useCookies/",
"category": "@Integrations",
"description": "wrapper for [`universal-cookie`](https://www.npmjs.com/package/universal-cookie)",
"importPath": "integrations/useCookies"
},
{
"name": "useCountdown",
"package": "core",
"lastUpdated": 1769407468000,
"docs": "https://vueuse.org/core/useCountdown/",
"category": "Time",
"description": "reactive countdown timer in seconds"
},
{
"name": "useCounter",
"package": "shared",
"lastUpdated": 1744088337000,
"docs": "https://vueuse.org/shared/useCounter/",
"category": "Utilities",
"description": "basic counter with utility functions"
},
{
"name": "useCssSupports",
"package": "core",
"lastUpdated": 1770702885000,
"docs": "https://vueuse.org/core/useCssSupports/",
"category": "Browser",
"description": "SSR compatible and reactive [`CSS.supports`](https://developer.mozilla.org/docs/Web/API/CSS/supports_static)"
},
{
"name": "useCssVar",
"package": "core",
"lastUpdated": 1741147666000,
"docs": "https://vueuse.org/core/useCssVar/",
"category": "Browser",
"description": "manipulate CSS variables"
},
{
"name": "useCurrentElement",
"package": "core",
"lastUpdated": 1735017005000,
"docs": "https://vueuse.org/core/useCurrentElement/",
"category": "Component",
"description": "get the DOM element of current component as a ref"
},
{
"name": "useCycleList",
"package": "core",
"lastUpdated": 1741147666000,
"docs": "https://vueuse.org/core/useCycleList/",
"category": "Utilities",
"description": "cycle through a list of items"
},
{
"name": "useDark",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useDark/",
"category": "Browser",
"description": "reactive dark mode with auto data persistence",
"related": [
"useColorMode",
"usePreferredDark",
"useStorage"
]
},
{
"name": "useDateFormat",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useDateFormat/",
"category": "Time",
"description": "get the formatted date according to the string of tokens passed in"
},
{
"name": "useDebouncedRefHistory",
"package": "core",
"lastUpdated": 1741147666000,
"docs": "https://vueuse.org/core/useDebouncedRefHistory/",
"category": "State",
"description": "shorthand for `useRefHistory` with debounced filter",
"related": [
"useRefHistory",
"useThrottledRefHistory"
]
},
{
"name": "useDebounceFn",
"package": "shared",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/shared/useDebounceFn/",
"category": "Utilities",
"description": "debounce execution of a function",
"related": [
"useThrottleFn"
]
},
{
"name": "useDeviceMotion",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useDeviceMotion/",
"category": "Sensors",
"description": "reactive [DeviceMotionEvent](https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotionEvent)"
},
{
"name": "useDeviceOrientation",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useDeviceOrientation/",
"category": "Sensors",
"description": "reactive [DeviceOrientationEvent](https://developer.mozilla.org/en-US/docs/Web/API/DeviceOrientationEvent)"
},
{
"name": "useDevicePixelRatio",
"package": "core",
"lastUpdated": 1774958324000,
"component": true,
"docs": "https://vueuse.org/core/useDevicePixelRatio/",
"category": "Sensors",
"description": "reactively track [`window.devicePixelRatio`](https://developer.mozilla.org/docs/Web/API/Window/devicePixelRatio)"
},
{
"name": "useDevicesList",
"package": "core",
"lastUpdated": 1772346044000,
"component": true,
"docs": "https://vueuse.org/core/useDevicesList/",
"category": "Sensors",
"description": "reactive [enumerateDevices](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/enumerateDevices) listing available input/output devices",
"related": [
"useUserMedia"
]
},
{
"name": "useDisplayMedia",
"package": "core",
"lastUpdated": 1770099476000,
"docs": "https://vueuse.org/core/useDisplayMedia/",
"category": "Sensors",
"description": "reactive [`mediaDevices.getDisplayMedia`](https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia) streaming",
"related": [
"useUserMedia"
]
},
{
"name": "useDocumentVisibility",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useDocumentVisibility/",
"category": "Elements",
"description": "reactively track [`document.visibilityState`](https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilityState)"
},
{
"name": "useDraggable",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useDraggable/",
"category": "Elements",
"description": "make elements draggable"
},
{
"name": "useDrauu",
"package": "integrations",
"lastUpdated": 1739701304000,
"docs": "https://vueuse.org/integrations/useDrauu/",
"category": "@Integrations",
"description": "reactive instance for [drauu](https://github.com/antfu/drauu)",
"importPath": "integrations/useDrauu"
},
{
"name": "useDropZone",
"package": "core",
"lastUpdated": 1764121826000,
"docs": "https://vueuse.org/core/useDropZone/",
"category": "Elements",
"description": "create a zone where files can be dropped"
},
{
"name": "useElementBounding",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"directive": true,
"docs": "https://vueuse.org/core/useElementBounding/",
"category": "Elements",
"description": "reactive [bounding box](https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect) of an HTML element"
},
{
"name": "useElementByPoint",
"package": "core",
"lastUpdated": 1770013115000,
"docs": "https://vueuse.org/core/useElementByPoint/",
"category": "Sensors",
"description": "reactive element by point"
},
{
"name": "useElementHover",
"package": "core",
"lastUpdated": 1750320219000,
"directive": true,
"docs": "https://vueuse.org/core/useElementHover/",
"category": "Sensors",
"description": "reactive element's hover state"
},
{
"name": "useElementSize",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"directive": true,
"docs": "https://vueuse.org/core/useElementSize/",
"category": "Elements",
"description": "reactive size of an HTML element"
},
{
"package": "motion",
"category": "@Motion",
"name": "useElementStyle",
"description": "sync a reactive object to a target element CSS styling",
"external": "https://motion.vueuse.org/api/use-element-style"
},
{
"package": "motion",
"category": "@Motion",
"name": "useElementTransform",
"description": "sync a reactive object to a target element CSS transform.",
"external": "https://motion.vueuse.org/api/use-element-transform"
},
{
"name": "useElementVisibility",
"package": "core",
"lastUpdated": 1773650113000,
"component": true,
"directive": true,
"docs": "https://vueuse.org/core/useElementVisibility/",
"category": "Elements",
"description": "tracks the visibility of an element within the viewport"
},
{
"name": "useEventBus",
"package": "core",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/core/useEventBus/",
"category": "Utilities",
"description": "a basic event bus"
},
{
"name": "useEventListener",
"package": "core",
"lastUpdated": 1767755257000,
"docs": "https://vueuse.org/core/useEventListener/",
"category": "Browser",
"description": "use EventListener with ease"
},
{
"name": "useEventSource",
"package": "core",
"lastUpdated": 1772346044000,
"docs": "https://vueuse.org/core/useEventSource/",
"category": "Network",
"description": "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"
},
{
"name": "useExtractedObservable",
"package": "rxjs",
"lastUpdated": 1774958324000,
"docs": "https://vueuse.org/rxjs/useExtractedObservable/",
"category": "@RxJS",
"description": "use an RxJS [`Observable`](https://rxjs.dev/guide/observable) as extracted from one or more composables"
},
{
"name": "useEyeDropper",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useEyeDropper/",
"category": "Browser",
"description": "reactive [EyeDropper API](https://developer.mozilla.org/en-US/docs/Web/API/EyeDropper_API)"
},
{
"name": "useFavicon",
"package": "core",
"lastUpdated": 1770099476000,
"docs": "https://vueuse.org/core/useFavicon/",
"category": "Browser",
"description": "reactive favicon"
},
{
"name": "useFetch",
"package": "core",
"lastUpdated": 1774958324000,
"docs": "https://vueuse.org/core/useFetch/",
"category": "Network",
"description": "reactive [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) provides the ability to abort requests"
},
{
"name": "useFileDialog",
"package": "core",
"lastUpdated": 1774958324000,
"docs": "https://vueuse.org/core/useFileDialog/",
"category": "Browser",
"description": "open file dialog with ease"
},
{
"name": "useFileSystemAccess",
"package": "core",
"lastUpdated": 1770013115000,
"docs": "https://vueuse.org/core/useFileSystemAccess/",
"category": "Browser",
"description": "create and read and write local files with [FileSystemAccessAPI](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API)"
},
{
"name": "useFirestore",
"package": "firebase",
"lastUpdated": 1767755257000,
"docs": "https://vueuse.org/firebase/useFirestore/",
"category": "@Firebase",
"description": "reactive [Firestore](https://firebase.google.com/docs/firestore) binding",
"importPath": "firebase/useFirestore"
},
{
"name": "useFloor",
"package": "math",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/math/useFloor/",
"category": "@Math",
"description": "reactive `Math.floor`"
},
{
"name": "useFocus",
"package": "core",
"lastUpdated": 1739701304000,
"docs": "https://vueuse.org/core/useFocus/",
"category": "Sensors",
"description": "reactive utility to track or set the focus state of a DOM element"
},
{
"name": "useFocusTrap",
"package": "integrations",
"lastUpdated": 1777600150000,
"component": true,
"docs": "https://vueuse.org/integrations/useFocusTrap/",
"category": "@Integrations",
"description": "reactive wrapper for [`focus-trap`](https://github.com/focus-trap/focus-trap)",
"importPath": "integrations/useFocusTrap"
},
{
"name": "useFocusWithin",
"package": "core",
"lastUpdated": 1739600241000,
"docs": "https://vueuse.org/core/useFocusWithin/",
"category": "Sensors",
"description": "reactive utility to track if an element or one of its descendants has focus"
},
{
"name": "useFps",
"package": "core",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/core/useFps/",
"category": "Sensors",
"description": "reactive FPS (frames per second)"
},
{
"name": "useFullscreen",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useFullscreen/",
"category": "Browser",
"description": "reactive [Fullscreen API](https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API)"
},
{
"name": "useFuse",
"package": "integrations",
"lastUpdated": 1776327185000,
"docs": "https://vueuse.org/integrations/useFuse/",
"category": "@Integrations",
"description": "easily implement fuzzy search using a composable with [Fuse.js](https://github.com/krisk/fuse)",
"importPath": "integrations/useFuse"
},
{
"name": "useGamepad",
"package": "core",
"lastUpdated": 1770099476000,
"docs": "https://vueuse.org/core/useGamepad/",
"category": "Browser",
"description": "provides reactive bindings for the [Gamepad API](https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API)"
},
{
"name": "useGeolocation",
"package": "core",
"lastUpdated": 1772346044000,
"component": true,
"docs": "https://vueuse.org/core/useGeolocation/",
"category": "Sensors",
"description": "reactive [Geolocation API](https://developer.mozilla.org/en-US/docs/Web/API/Geolocation_API)"
},
{
"name": "useHead",
"package": "head",
"description": "update head meta tags reactively.",
"category": "@Head",
"external": "https://github.com/vueuse/head#api"
},
{
"name": "useIDBKeyval",
"package": "integrations",
"lastUpdated": 1752069336000,
"docs": "https://vueuse.org/integrations/useIDBKeyval/",
"category": "@Integrations",
"description": "wrapper for [`idb-keyval`](https://www.npmjs.com/package/idb-keyval)",
"importPath": "integrations/useIDBKeyval"
},
{
"name": "useIdle",
"package": "core",
"lastUpdated": 1761115389000,
"component": true,
"docs": "https://vueuse.org/core/useIdle/",
"category": "Sensors",
"description": "tracks whether the user is being inactive"
},
{
"name": "useImage",
"package": "core",
"lastUpdated": 1770099476000,
"component": true,
"docs": "https://vueuse.org/core/useImage/",
"category": "Browser",
"description": "reactive load an image in the browser"
},
{
"name": "useInfiniteScroll",
"package": "core",
"lastUpdated": 1772346044000,
"directive": true,
"docs": "https://vueuse.org/core/useInfiniteScroll/",
"category": "Sensors",
"description": "infinite scrolling of the element"
},
{
"name": "useIntersectionObserver",
"package": "core",
"lastUpdated": 1774357050000,
"directive": true,
"docs": "https://vueuse.org/core/useIntersectionObserver/",
"category": "Elements",
"description": "detects changes to a target element's visibility"
},
{
"name": "useInterval",
"package": "shared",
"lastUpdated": 1744088337000,
"docs": "https://vueuse.org/shared/useInterval/",
"category": "Animation",
"description": "reactive counter that increases on every interval"
},
{
"name": "useIntervalFn",
"package": "shared",
"lastUpdated": 1748328969000,
"docs": "https://vueuse.org/shared/useIntervalFn/",
"category": "Animation",
"description": "wrapper for `setInterval` with controls"
},
{
"name": "useIpcRenderer",
"package": "electron",
"lastUpdated": 1739701304000,
"docs": "https://vueuse.org/electron/useIpcRenderer/",
"category": "@Electron",
"description": "provides [ipcRenderer](https://www.electronjs.org/docs/api/ipc-renderer) and all of its APIs with Vue reactivity"
},
{
"name": "useIpcRendererInvoke",
"package": "electron",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/electron/useIpcRendererInvoke/",
"category": "@Electron",
"description": "reactive [ipcRenderer.invoke API](https://www.electronjs.org/docs/api/ipc-renderer#ipcrendererinvokechannel-args) result"
},
{
"name": "useIpcRendererOn",
"package": "electron",
"lastUpdated": 1726477425000,
"docs": "https://vueuse.org/electron/useIpcRendererOn/",
"category": "@Electron",
"description": "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"
},
{
"name": "useJwt",
"package": "integrations",
"lastUpdated": 1741147666000,
"docs": "https://vueuse.org/integrations/useJwt/",
"category": "@Integrations",
"description": "wrapper for [`jwt-decode`](https://github.com/auth0/jwt-decode)",
"importPath": "integrations/useJwt"
},
{
"name": "useKeyModifier",
"package": "core",
"lastUpdated": 1753677040000,
"docs": "https://vueuse.org/core/useKeyModifier/",
"category": "Sensors",
"description": "reactive [Modifier State](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState)"
},
{
"name": "useLastChanged",
"package": "shared",
"lastUpdated": 1744088337000,
"docs": "https://vueuse.org/shared/useLastChanged/",
"category": "State",
"description": "records the timestamp of the last change"
},
{
"name": "useLocalStorage",
"package": "core",
"lastUpdated": 1753513037000,
"docs": "https://vueuse.org/core/useLocalStorage/",
"category": "State",
"description": "reactive [LocalStorage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)",
"related": [
"useStorage"
]
},
{
"name": "useMagicKeys",
"package": "core",
"lastUpdated": 1769007613000,
"docs": "https://vueuse.org/core/useMagicKeys/",
"category": "Sensors",
"description": "reactive keys pressed state"
},
{
"name": "useManualRefHistory",
"package": "core",
"lastUpdated": 1774958324000,