\n\n`defineProps` works fine\n\u003Cimg width=\"680\" height=\"215\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/d3f33a4a-72e3-4c0c-a94b-bf37ad05d356\" />\n\nPerhaps the issue lies here.\n\u003Cimg width=\"552\" height=\"290\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/4a0d2211-92a1-4dab-9ab6-3c819ddefb4c\" />\n\n### Reproduction\n\nhttps://playground.vueuse.org/#eNqVkk1z0zAQhv/K4kviwR9lYDgEJxMoPcABOqE3zMG1N6laWRKSbNLJ+L+zlmyTMJBpLx5L++7us6v3ELxXKmkbDBZBZkrNlAWDtlHAC7Fb5oE1ebDKBauV1BYOUGosLG6wMcUtxxusFaczdLDVsobZmko1BtNSapy9O8ortC4eIxBNfYs6gm0jyimJcmL7qNDMcpGLUgpj4ftH3DIxNYigbzkdf8DyPyTzQy4AlJbKLMD9A3Bm7MITZB5gNQ8TZjb4s2Eaq8jLmKhwvxgQSVDhdh6/CoeoFJeclQ8Lh57NT8QhLFfQSlZRXSfv6NuFNP84jgMiaKpJU133J0/6JLZzZM/g6sIeKEv9O9Or0sEOe6MTQHa6dGhjw6UlFxwcZ+RBorEndM4b/XayF3EM/RsCai01xPEYqFgL67KXU50h0VOGlD2WylLSeYb0FMJh+jpDyQpr6ZX+LkuPhgiiwHsurguV3BspyNlu0/kQIENPzsiDyXv9bR7cWUvGSdOyEpRcIWetTgTaVKg6nbTrt8lFcpG+RFPngXtvWi51toZee8t2f/UtZa0YR/1VWUZuOOlfcC5/fXZ3Vjc4mI1y7rB8+Mf9vdl70muNBnWLeTDFbKF3aH346tsX3NP/FKxl1XBSnwlu0Eje9Ixe9qERFWEf6RztJ7dGJnY35mpvUZhxqB50dP+w28szo//BfZ28mbbY/QaxVIgQ\n\n### System Info\n\n```Shell\n\"@vueuse/core\": \"^13.2.0\"\n\"vue-types\": \"^5.1.3\"\n\"typescript\": \"^5.8.3\",\n```\n\n### Used Package Manager\n\npnpm\n\n### Validations\n\n- [x] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [x] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [x] Read the [docs](https://vueuse.org/guide).\n- [x] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [x] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [x] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[3184],{"name":3172,"color":3173},4929,"BUG | `createReusableTemplate` | Not compatible with the `vue-types` library","2025-07-31T02:11:46Z","https://github.com/vueuse/vueuse/issues/4929",0.6876954,{"description":3191,"labels":3192,"number":3193,"owner":3175,"repository":3175,"state":3194,"title":3195,"updated_at":3196,"url":3197,"score":3198},"### Describe the bug\n\nCurrently `borderBoxSize`, `contentBoxSize` and `devicePixelContentBoxSize` is marked as optional (`| undefined`) in https://github.com/vueuse/vueuse/blob/e71eb1e9818be73e179915c5efda4f37b8a460c9/packages/core/useResizeObserver/index.ts#L9-L20\r\nwhich is not sync with the [`lib.dom.d.ts`](https://github.com/microsoft/TypeScript/blob/89e004f632323a276b67649e118e78f39a7dc429/src/lib/dom.generated.d.ts#L18488-L18533) and [IDL](https://drafts.csswg.org/resize-observer/#dom-resizeobserverentry-borderboxsize)\r\n\r\nThis will block anyone trying to wrap the callback to `useResizeObserver()` like\r\n```typescript\r\nuseResizeObserver(el, _.debounce((entries: ResizeObserverEntry) => { }));\r\n```\r\nas the one from `lib.dom.d.ts` is imported implicitly by default and two types are mismatched, they will have to\r\n```typescript\r\nimport type { ResizeObserverEntry } from '@vueuse/core';\r\n```\r\nor\r\n```typescript\r\nuseResizeObserver(el, _.debounce((entries: Parameters\u003CParameters\u003Ctypeof useResizeObserver>[1]>[0]) => { }));\r\n```\n\n### Reproduction\n\nhttps://stackblitz.com/edit/vitejs-vite-s6cvav?file=src%2FApp.vue\n\n### System Info\n\n```Shell\nSystem:\r\n OS: Linux 5.0 undefined\r\n CPU: (4) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz\r\n Memory: 0 Bytes / 0 Bytes\r\n Shell: 1.0 - /bin/jsh\r\nBinaries:\r\n Node: 18.20.3 - /usr/local/bin/node\r\n Yarn: 1.22.19 - /usr/local/bin/yarn\r\n npm: 10.2.3 - /usr/local/bin/npm\r\n pnpm: 8.15.6 - /usr/local/bin/pnpm\r\nnpmPackages:\r\n @vueuse/core: ^7.6.2 => 7.6.2 \r\n vue: ^3.2.25 => 3.2.31\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],4216,"closed","[useResizeObserver] remove type `ResizeObserverEntry` & `ResizeObserverSize`","2024-09-16T08:40:12Z","https://github.com/vueuse/vueuse/issues/4216",0.6081824,{"description":3200,"labels":3201,"number":3202,"owner":3175,"repository":3175,"state":3194,"title":3203,"updated_at":3204,"url":3205,"score":3206},"### Describe the bug\r\n\r\n```node\r\n❯ npx vue-tsc --noEmit\r\nnode_modules/@vueuse/core/index.d.ts:1153:82 - error TS2304: Cannot find name 'VisibilityState'.\r\n\r\n1153 declare function useDocumentVisibility({ document }?: ConfigurableDocument): Ref\u003CVisibilityState>;\r\n ~~~~~~~~~~~~~~~\r\n\r\n\r\nFound 1 error in node_modules/@vueuse/core/index.d.ts:1153\r\n```\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/vitejs-vite-enmwba?devtoolsheight=33\r\n\r\n### System Info\r\n\r\n```Shell\r\nSystem:\r\n OS: Linux 5.14 Ubuntu 20.04.4 LTS (Focal Fossa)\r\n CPU: (16) x64 Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz\r\n Memory: 48.76 GB / 62.44 GB\r\n Container: Yes\r\n Shell: 5.0.17 - /bin/bash\r\n Binaries:\r\n Node: 16.13.2 - ~/.nvm/versions/node/v16.13.2/bin/node\r\n npm: 8.1.2 - ~/.nvm/versions/node/v16.13.2/bin/npm\r\n Browsers:\r\n Chrome: 98.0.4758.102\r\n Firefox: 97.0\r\n npmPackages:\r\n @vueuse/core: ~7.7.0 => 7.7.0 \r\n vue: ~3.2.31 => 3.2.31\r\n```\r\n\r\n\r\n### Used Package Manager\r\n\r\npnpm\r\n\r\n### Validations\r\n\r\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\r\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://vueuse.org/guide).\r\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\r\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\r\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\r\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],1334,"useDocumentVisibility: VisibilityState not found in TypeScript 4.6","2022-03-02T01:01:03Z","https://github.com/vueuse/vueuse/issues/1334",0.6629421,{"description":3208,"labels":3209,"number":3210,"owner":3175,"repository":3175,"state":3194,"title":3211,"updated_at":3212,"url":3213,"score":3214},"In my nuxt 2 project\r\n```ts\r\nimport { computed, Ref } from '@vue/composition-api'\r\nimport { useWindowSize, createGlobalState, useStorage } from '@vueuse/core'\r\n\r\nexport const useVerticalSizeState = createGlobalState(() =>\r\n useStorage(\r\n 'use-vertical-size',\r\n {\r\n aspectRatio: 9 / 16,\r\n },\r\n sessionStorage,\r\n ),\r\n)\r\n\r\nexport function useVerticalSize() {\r\n const { width: windowWidth, height: windowHeight } = useWindowSize()\r\n const state = useVerticalSizeState()\r\n\r\n const aspectRatio = computed(() => state.value.aspectRatio)\r\n const width = computed(() =>\r\n Math.min(windowWidth.value, windowHeight.value * aspectRatio.value),\r\n )\r\n const height = computed(() => windowHeight.value)\r\n const setAspectRatio = (aspectRatio: Ref\u003Cnumber>) => {\r\n state.value.aspectRatio = aspectRatio.value\r\n }\r\n\r\n return {\r\n width,\r\n height,\r\n aspectRatio,\r\n setAspectRatio,\r\n }\r\n}\r\n```\r\n\r\ngot this error\r\n```ts\r\nERROR in utils/useVerticalSize.ts:21:44\r\nTS2339: Property 'value' does not exist on type 'Omit\u003CRef\u003C{ aspectRatio: number; }>, \"value\">'.\r\n 19 | const state = useVerticalSizeState()\r\n 20 |\r\n > 21 | const aspectRatio = computed(() => state.value.aspectRatio)\r\n | ^^^^^\r\n 22 | const width = computed(() =>\r\n 23 | Math.min(windowWidth.value, windowHeight.value * aspectRatio.value),\r\n 24 | )\r\n\r\nERROR in utils/useVerticalSize.ts:27:11\r\nTS2339: Property 'value' does not exist on type 'Omit\u003CRef\u003C{ aspectRatio: number; }>, \"value\">'.\r\n 25 | const height = computed(() => windowHeight.value)\r\n 26 | const setAspectRatio = (aspectRatio: Ref\u003Cnumber>) => {\r\n > 27 | state.value.aspectRatio = aspectRatio.value\r\n | ^^^^^\r\n 28 | }\r\n 29 |\r\n 30 | return {\r\n```\r\n\r\nobviously the problem lies in my editor’s inability to correctly interpret `RemoveableRef`\r\nbut I don’t want to overwrite the definition to solve the problem\r\n```ts\r\n19 | const state = useVerticalSizeState()\r\n```\r\n\r\nI need a hint...this is my `tsconfig.json`\r\n\r\n```json\r\n{\r\n \"extends\": \"@tsconfig/node12/tsconfig.json\",\r\n \"compilerOptions\": {\r\n \"target\": \"es2018\",\r\n \"module\": \"esnext\",\r\n \"lib\": [\"ESNext\", \"DOM\", \"DOM.Iterable\"],\r\n \"moduleResolution\": \"node\",\r\n \"esModuleInterop\": true,\r\n \"strict\": true,\r\n \"strictNullChecks\": true,\r\n \"strictFunctionTypes\": true,\r\n \"declaration\": true,\r\n \"declarationDir\": \"./types\",\r\n \"resolveJsonModule\": true,\r\n \"rootDir\": \".\",\r\n \"baseUrl\": \".\",\r\n \"paths\": {\r\n \"~/*\": [\"./*\"],\r\n \"@/*\": [\"./*\"]\r\n },\r\n \"types\": [\r\n \"@types/node\",\r\n \"@nuxt/types\",\r\n \"@nuxtjs/axios\",\r\n \"@nuxtjs/auth-next\",\r\n \"@nuxtjs/dayjs\",\r\n \"nuxt-i18n\",\r\n \"vuetify\",\r\n \"animejs\"\r\n ],\r\n \"typeRoots\": [\"./node_modules/@types\", \"./node_modules/vuetify/types\"]\r\n },\r\n \"exclude\": [\"node_modules\", \".nuxt\", \"dist\"]\r\n}\r\n```",[],781,"`useStorage` got ts error TS2339","2021-12-02T13:16:43Z","https://github.com/vueuse/vueuse/issues/781",0.6640988,{"description":3216,"labels":3217,"number":3221,"owner":3175,"repository":3175,"state":3194,"title":3222,"updated_at":3223,"url":3224,"score":3225},"### Describe the bug\n\nTypeScript reports an error when `class` is passed to `UseElementSize`\r\n\r\n```\r\n\u003CUseElementSize v-slot=\"{ width, height }\" class=\"myclass\">\r\n```\r\n\r\nThe error is:\r\n\r\n```\r\nArgument of type '{ class: string; }' is not assignable to parameter of type '{ readonly width: number; readonly height: number; readonly box?: ResizeObserverBoxOptions | undefined; readonly window?: Window | undefined; readonly as?: string | ... 1 more ... | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps & Record\u003C...>'.\r\n Type '{ class: string; }' is missing the following properties from type '{ readonly width: number; readonly height: number; readonly box?: ResizeObserverBoxOptions | undefined; readonly window?: Window | undefined; readonly as?: string | ... 1 more ... | undefined; }': width, height\r\n```\n\n### Reproduction\n\nhttps://github.com\n\n### System Info\n\n```Shell\nTypeScript 5.5.4\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [ ] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[3218],{"name":3219,"color":3220},"needs reproduction","f2f08a",4351,"BUG | `UseElementSize` | Typescript does not allow to pass class=\"foo\"","2025-01-06T12:38:50Z","https://github.com/vueuse/vueuse/issues/4351",0.66855353,{"description":3227,"labels":3228,"number":3233,"owner":3175,"repository":3175,"state":3194,"title":3234,"updated_at":3235,"url":3236,"score":3237},"### Describe the bug\n\nWith the following code:\n\n```\nimport { useLocalStorage } from \"@vueuse/core\";\nimport { watch } from \"vue\";\n\n//...\n\nconst removableRef = useLocalStorage\u003C\"a\" | \"b\" | \"c\">(\"key\", \"a\");\n\nwatch(removableRef, (newVal, oldVal) => {\n console.log(\"Changed removable ref\", oldVal, \"->\", newVal);\n if (newVal === \"b\") { // Typescript error here\n console.log(\"Changed to b\");\n }\n});\n\nwindow.setTimeout(() => {\n console.log(\"Setting to b\");\n removableRef.value = \"b\";\n}, 1_000);\n```\n\nI get a typescript error on the line indicated with a comment. \"This comparison appears to be unintentional because the types 'RemovableRef\u003C\"a\" | \"b\" | \"c\">' and 'string' have no overlap.ts(2367)\"\n\nElsewhere, I get typescript errors like \"This comparison appears to be unintentional because the types '{ [RefSymbol]: true; value: \"a\" | \"last7days\" | \"b\" | \"c\" ; }' and 'string' have no overlap.ts-plugin(2367)\"\n\nBut the code works. newVal is indeed \"b\", and \"Changed to b\" logs to the console.\n\nI am working around with\n\n```\nimport { useLocalStorage as _unsafeUseLocalStorage } from \"@vueuse/core\";\n\nfunction useLocalStorage\u003CT>(key: string, initialValue: T): Ref\u003CT> {\n //@ts-expect-error\n return _unsafeUseLocalStorage(key, initialValue);\n}\n```\n\nand then using the custom function instead. But wondering if there is a better solution, or if this can be fixed?\n\nNote, the playground seems to be broken when using vue2 and the corresponding vueuse version (11.3.0)\n\n### Reproduction\n\nhttps://playground.vueuse.org/?prod=true&vueuse=11.3.0#eNp9U21r2zAQ/iuHvjSB4GRrYdA52RsddIyurP0oKIp8sdXKkpFkJyHzf99JzlvH6CdLd4+ee+658459aZqsa5Fds9xLp5oAHkPbgBamnHMWPGcLbriR1vgAK9eqAHPgrBC1t4azjzE5ncKdDZUyJSgPhfKNFlu6TUCYAuiFFOYiwBKh3oK0BdJRitYj3EIlOqRYXaMJWAB26LYDlW1DBvfOLjXWsFahglAhROrS2dYUn2LpWFzVjXUBdkCMP60U+iFYJ0qEngTbGi4+U4eUm0rr8OLVi7UIsjriCEbpCHjd7j+8+al9+ENeeG1xf1y2WgtJt8WIsxfccjY5M2u8dytVHSX2CYysLr4PR4PrdBrDfAG75Cuo1QkB83n0fqg3PiCA7DPeasy0LansAJUVTZAMDRb2eCoe4X389EcpyhR2ndHQH1WNZPlodF49acw6oVtMYx+oElM/gcun2Ww2MOXTYX3SsuQBa5pTQLoB5IXqFknUNex2ibHv82mMxndnWDahhaNmVqrMnskx2krSAVSXFqRRGt2vJihqljOiipmYE1rb9Y8UC67FySEuK5Qv/4k/+02McXbv0KPrqKFjLghXYhjSNw93uKHzMVnbotWEfiP5G2kQbdQ4wL7SnpLsM1xSe5v2j5b80d9sAhp/aCoKjcg+4Tmjjfz2RusnuZfZVXrHTU8uPtFfFDnJwPfZh+zdFev/AsD+T2s=\n\n### System Info\n\n```Shell\nSystem:\n OS: Linux 5.15 Ubuntu 22.04.5 LTS 22.04.5 LTS (Jammy Jellyfish)\n CPU: (12) x64 13th Gen Intel(R) Core(TM) i5-1335U\n Memory: 13.44 GB / 19.38 GB\n Container: Yes\n Shell: 5.1.16 - /bin/bash\n Binaries:\n Node: 20.16.0 - ~/.nvm/versions/node/v20.16.0/bin/node\n npm: 10.8.1 - ~/.nvm/versions/node/v20.16.0/bin/npm\n pnpm: 8.15.8 - ~/.nvm/versions/node/v20.16.0/bin/pnpm\n npmPackages:\n @vueuse/core: ^11.0.0 => 11.3.0\n```\n\n### Used Package Manager\n\npnpm\n\n### Validations\n\n- [x] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [x] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [x] Read the [docs](https://vueuse.org/guide).\n- [x] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [x] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [x] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [x] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[3229,3232],{"name":3230,"color":3231},"question","d876e3",{"name":3172,"color":3173},4999,"Typescript error when using RemovableRef","2025-09-02T08:35:37Z","https://github.com/vueuse/vueuse/issues/4999",0.6711481,{"description":3239,"labels":3240,"number":3244,"owner":3175,"repository":3175,"state":3194,"title":3245,"updated_at":3246,"url":3247,"score":3248},"### Clear and concise description of the problem\n\n`useResizeObserver` has a similar API as `useIntersectionObserver`, as a developer it feels like resize observer should also have a handy directive accompanying it similar to `v-intersection-observer`.\n\n### Suggested solution\n\nAdd a directive `v-resize-observer` which would work just like `v-intersection-observer`. Or from the current [demo](https://github.com/vueuse/vueuse/blob/main/packages/core/useResizeObserver/demo.vue):\r\n\r\n```vue\r\n\u003Cscript lang=\"ts\" setup>\r\nimport { ref } from \"vue\";\r\nimport { vResizeObserver } from \"@vueuse/components\";\r\n\r\nconst text = ref(\"\");\r\n\r\nfunction handleResize([{ contentRect }]: ResizeObserverEntry[]) {\r\n const { width, height } = contentRect;\r\n text.value = `width: ${width}\\nheight: ${height}`;\r\n}\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Ctextarea v-resize-observer=\"handleResize\" v-text=\"text\" />\r\n\u003C/template>\r\n```\n\n### Alternative\n\nDo nothing, `useResizeObserver` isn’t actually that hard to use.\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.",[3241],{"name":3242,"color":3243},"enhancement","a2eeef",3391,"ResizeObserver as a directive","2024-08-01T07:09:04Z","https://github.com/vueuse/vueuse/issues/3391",0.67493993,{"description":3250,"labels":3251,"number":3258,"owner":3175,"repository":3175,"state":3194,"title":3259,"updated_at":3260,"url":3261,"score":3262},"### Describe the bug\n\nwithin the first code example https://vueuse.org/core/onLongPress/\r\nhtmlRefHook on line 16 reports:\r\nArgument of type 'Ref\u003CHTMLElement | null>' is not assignable to parameter of type 'MaybeElementRef\u003CMaybeElement>'.\r\nProperty '[RefSymbol]' is missing in type 'Ref\u003CHTMLElement | null>' but required in type 'Ref\u003CMaybeElement>'.ts(2345)\n\n### Reproduction\n\ncopy and paste above code on a working vue + typescript project \n\n### System Info\n\n```Shell\nvscode mac\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[3252,3255],{"name":3253,"color":3254},"documentation","0075ca",{"name":3256,"color":3257},"has pr","5319E7",3827,"Typescript error onLongPress","2024-02-28T08:08:56Z","https://github.com/vueuse/vueuse/issues/3827",0.6902,{"description":3264,"labels":3265,"number":3266,"owner":3175,"repository":3175,"state":3194,"title":3267,"updated_at":3268,"url":3269,"score":3270},"### Describe the bug\n\nnode_modules/@vueuse/shared/index.d.ts:398:119 - error TS1128: Declaration or statement expected.\r\n\r\n398 declare function makeDestructurable\u003CT extends Record\u003Cstring, unknown>, const A extends readonly any[]>(obj: T, arr: A): T & A;\r\n ~\r\nFound 10 errors in the same file, starting at: node_modules/@vueuse/shared/index.d.ts:398\n\n### Reproduction\n\nnew version\n\n### System Info\n\n```Shell\nSystem:\r\n OS: macOS 14.2.1\r\n CPU: (11) arm64 Apple M3 Pro\r\n Memory: 96.42 MB / 18.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.19.0 - ~/.nvm/versions/node/v18.19.0/bin/node\r\n Yarn: 1.22.21 - ~/.nvm/versions/node/v18.19.0/bin/yarn\r\n npm: 10.2.3 - ~/.nvm/versions/node/v18.19.0/bin/npm\r\n pnpm: 8.15.4 - ~/.nvm/versions/node/v18.19.0/bin/pnpm\r\n bun: 1.1.6 - ~/.bun/bin/bun\r\n Browsers:\r\n Chrome: 125.0.6422.113\r\n Safari: 17.2.1\r\n npmPackages:\r\n @vueuse/core: ^10.10.0 => 10.10.0 \r\n vue: ^3.4.27 => 3.4.27\n```\n\n\n### Used Package Manager\n\nnpm\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://github.com/vueuse/vueuse/blob/main/CODE_OF_CONDUCT.md)\n- [X] Read the [Contributing Guidelines](https://github.com/vueuse/vueuse/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://vueuse.org/guide).\n- [X] Check that there isn't [already an issue](https://github.com/vueuse/vueuse/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Make sure this is a VueUse issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.\n- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vueuse/vueuse/discussions).\n- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.",[],4006,"The project packaging will report this TypeScript error.","2024-06-11T13:29:52Z","https://github.com/vueuse/vueuse/issues/4006",0.6902596,["Reactive",3272],{},["Set"],["ShallowReactive",3275],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f_csaLMF_H2gqo_KcwKxl-944ElMH9hlgiPIsa7fc4tg":-1},"/vueuse/vueuse/154"]