Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(useInfiniteScroll): add the canLoadMore option #3558

Merged
merged 2 commits into from Dec 4, 2023

Conversation

Alfred-Skyblue
Copy link
Member

@Alfred-Skyblue Alfred-Skyblue commented Nov 16, 2023

Before submitting the PR, please make sure you do the following

  • Read the Contributing Guidelines.
  • Read the Pull Request Guidelines.
  • Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
  • Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
  • Ideally, include relevant tests that fail without this PR but pass with it.
⚠️ Slowing down new functions

Warning: Slowing down new functions

As the VueUse audience continues to grow, we have been inundated with an overwhelming number of feature requests and pull requests. As a result, maintaining the project has become increasingly challenging and has stretched our capacity to its limits. As such, in the near future, we may need to slow down our acceptance of new features and prioritize the stability and quality of existing functions. Please note that new features for VueUse may not be accepted at this time. If you have any new ideas, we suggest that you first incorporate them into your own codebase, iterate on them to suit your needs, and assess their generalizability. If you strongly believe that your ideas are beneficial to the community, you may submit a pull request along with your use cases, and we would be happy to review and discuss them. Thank you for your understanding.


Description

fixed #3390

When using useInfiniteScroll, there is a scenario where the element is not scrollable, leading to infinite triggering of onLoadMore. Due to potential issues related to element scrolling, this PR introduces the canLoadMore option. It is a function that returns a boolean type, allowing users to independently control whether more content can be loaded. With this option, users can make their own decisions on whether loading more content is feasible, addressing the issue of infinite triggering when the element is not scrollable.

Additional context

@Alfred-Skyblue Alfred-Skyblue marked this pull request as draft November 16, 2023 16:04
@Alfred-Skyblue Alfred-Skyblue changed the title fix(useInfiniteScroll): loadMore checks whether the element is scrollable feat(useInfiniteScroll): add the canLoadMore option Nov 20, 2023
@Alfred-Skyblue Alfred-Skyblue marked this pull request as ready for review November 20, 2023 14:30
@ykxbc
Copy link

ykxbc commented Nov 23, 2023

It feels like can add a stop to the return value

declare function useInfiniteScroll(element, onLoadMore, options): { isLoading: vue_demi.ComputedRef<boolean>; stop: () => void, };
The function is logged off/disabled directly after "stop"

We don't usually use "continue."

@ykxbc
Copy link

ykxbc commented Nov 23, 2023

920081b581007fb2e2e6b01566cf653

Hopefully can throw "watch," like this

@antfu antfu added this pull request to the merge queue Dec 4, 2023
Merged via the queue into vueuse:main with commit e780f5a Dec 4, 2023
4 checks passed
renovate bot added a commit to woodpecker-ci/woodpecker that referenced this pull request Dec 6, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@iconify/json](https://iconify.design/icon-sets/)
([source](https://togithub.com/iconify/icon-sets)) | [`2.2.143` ->
`2.2.153`](https://renovatebot.com/diffs/npm/@iconify%2fjson/2.2.143/2.2.153)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@iconify%2fjson/2.2.153?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@iconify%2fjson/2.2.153?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@iconify%2fjson/2.2.143/2.2.153?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@iconify%2fjson/2.2.143/2.2.153?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/lodash](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/lodash)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash))
| [`4.14.201` ->
`4.14.202`](https://renovatebot.com/diffs/npm/@types%2flodash/4.14.201/4.14.202)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2flodash/4.14.202?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2flodash/4.14.202?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2flodash/4.14.201/4.14.202?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2flodash/4.14.201/4.14.202?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`20.9.2` ->
`20.10.3`](https://renovatebot.com/diffs/npm/@types%2fnode/20.9.2/20.10.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.9.2/20.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.9.2/20.10.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/typescript-eslint)
([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin))
| [`6.11.0` ->
`6.13.2`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/6.11.0/6.13.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/6.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/6.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/6.11.0/6.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/6.11.0/6.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@typescript-eslint/parser](https://togithub.com/typescript-eslint/typescript-eslint)
([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser))
| [`6.11.0` ->
`6.13.2`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/6.11.0/6.13.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/6.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/6.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/6.11.0/6.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/6.11.0/6.13.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vitejs/plugin-vue](https://togithub.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme)
([source](https://togithub.com/vitejs/vite-plugin-vue/tree/HEAD/packages/plugin-vue))
| [`4.5.0` ->
`4.5.1`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-vue/4.5.0/4.5.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-vue/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitejs%2fplugin-vue/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitejs%2fplugin-vue/4.5.0/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-vue/4.5.0/4.5.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[@vue/compiler-sfc](https://togithub.com/vuejs/core/tree/main/packages/compiler-sfc#readme)
([source](https://togithub.com/vuejs/core/tree/HEAD/packages/compiler-sfc))
| [`3.3.8` ->
`3.3.10`](https://renovatebot.com/diffs/npm/@vue%2fcompiler-sfc/3.3.8/3.3.10)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vue%2fcompiler-sfc/3.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vue%2fcompiler-sfc/3.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vue%2fcompiler-sfc/3.3.8/3.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vue%2fcompiler-sfc/3.3.8/3.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@vueuse/core](https://togithub.com/vueuse/vueuse)
([source](https://togithub.com/vueuse/vueuse/tree/HEAD/packages/core)) |
[`10.6.1` ->
`10.7.0`](https://renovatebot.com/diffs/npm/@vueuse%2fcore/10.6.1/10.7.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@vueuse%2fcore/10.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vueuse%2fcore/10.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vueuse%2fcore/10.6.1/10.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vueuse%2fcore/10.6.1/10.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [eslint](https://eslint.org)
([source](https://togithub.com/eslint/eslint)) | [`8.54.0` ->
`8.55.0`](https://renovatebot.com/diffs/npm/eslint/8.54.0/8.55.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint/8.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint/8.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint/8.54.0/8.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint/8.54.0/8.55.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[eslint-config-prettier](https://togithub.com/prettier/eslint-config-prettier)
| [`9.0.0` ->
`9.1.0`](https://renovatebot.com/diffs/npm/eslint-config-prettier/9.0.0/9.1.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-config-prettier/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-config-prettier/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-config-prettier/9.0.0/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-config-prettier/9.0.0/9.1.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [eslint-plugin-vue](https://eslint.vuejs.org)
([source](https://togithub.com/vuejs/eslint-plugin-vue)) | [`9.18.1` ->
`9.19.2`](https://renovatebot.com/diffs/npm/eslint-plugin-vue/9.18.1/9.19.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-vue/9.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-vue/9.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-vue/9.18.1/9.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-vue/9.18.1/9.19.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [node-emoji](https://togithub.com/omnidan/node-emoji) | [`2.1.1` ->
`2.1.3`](https://renovatebot.com/diffs/npm/node-emoji/2.1.1/2.1.3) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/node-emoji/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/node-emoji/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/node-emoji/2.1.1/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/node-emoji/2.1.1/2.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [unplugin-icons](https://togithub.com/unplugin/unplugin-icons) |
[`0.18.0` ->
`0.18.1`](https://renovatebot.com/diffs/npm/unplugin-icons/0.18.0/0.18.1)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/unplugin-icons/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/unplugin-icons/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/unplugin-icons/0.18.0/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/unplugin-icons/0.18.0/0.18.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[unplugin-vue-components](https://togithub.com/unplugin/unplugin-vue-components)
| [`^0.25.0` ->
`^0.26.0`](https://renovatebot.com/diffs/npm/unplugin-vue-components/0.25.2/0.26.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/unplugin-vue-components/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/unplugin-vue-components/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/unplugin-vue-components/0.25.2/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/unplugin-vue-components/0.25.2/0.26.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[vite-plugin-windicss](https://togithub.com/antfu/vite-plugin-windicss)
| [`1.9.1` ->
`1.9.2`](https://renovatebot.com/diffs/npm/vite-plugin-windicss/1.9.1/1.9.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite-plugin-windicss/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite-plugin-windicss/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite-plugin-windicss/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite-plugin-windicss/1.9.1/1.9.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue](https://togithub.com/vuejs/core/tree/main/packages/vue#readme)
([source](https://togithub.com/vuejs/core)) | [`3.3.8` ->
`3.3.10`](https://renovatebot.com/diffs/npm/vue/3.3.8/3.3.10) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue/3.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue/3.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue/3.3.8/3.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue/3.3.8/3.3.10?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[vue-i18n](https://togithub.com/intlify/vue-i18n-next/tree/master/packages/vue-i18n#readme)
([source](https://togithub.com/intlify/vue-i18n-next/tree/HEAD/packages/vue-i18n))
| [`9.7.0` ->
`9.8.0`](https://renovatebot.com/diffs/npm/vue-i18n/9.7.0/9.8.0) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-i18n/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-i18n/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-i18n/9.7.0/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-i18n/9.7.0/9.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vue-tsc](https://togithub.com/vuejs/language-tools)
([source](https://togithub.com/vuejs/language-tools/tree/HEAD/packages/tsc))
| [`1.8.22` ->
`1.8.25`](https://renovatebot.com/diffs/npm/vue-tsc/1.8.22/1.8.25) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vue-tsc/1.8.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vue-tsc/1.8.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vue-tsc/1.8.22/1.8.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vue-tsc/1.8.22/1.8.25?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>iconify/icon-sets (@&#8203;iconify/json)</summary>

###
[`v2.2.153`](https://togithub.com/iconify/icon-sets/compare/2.2.152...2.2.153)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.152...2.2.153)

###
[`v2.2.152`](https://togithub.com/iconify/icon-sets/compare/2.2.151...2.2.152)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.151...2.2.152)

###
[`v2.2.151`](https://togithub.com/iconify/icon-sets/compare/2.2.150...2.2.151)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.150...2.2.151)

###
[`v2.2.150`](https://togithub.com/iconify/icon-sets/compare/2.2.149...2.2.150)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.149...2.2.150)

###
[`v2.2.149`](https://togithub.com/iconify/icon-sets/compare/2.2.148...2.2.149)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.148...2.2.149)

###
[`v2.2.148`](https://togithub.com/iconify/icon-sets/compare/2.2.147...2.2.148)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.147...2.2.148)

###
[`v2.2.147`](https://togithub.com/iconify/icon-sets/compare/2.2.146...2.2.147)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.146...2.2.147)

###
[`v2.2.146`](https://togithub.com/iconify/icon-sets/compare/2.2.145...2.2.146)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.145...2.2.146)

###
[`v2.2.145`](https://togithub.com/iconify/icon-sets/compare/2.2.144...2.2.145)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.144...2.2.145)

###
[`v2.2.144`](https://togithub.com/iconify/icon-sets/compare/2.2.143...2.2.144)

[Compare
Source](https://togithub.com/iconify/icon-sets/compare/2.2.143...2.2.144)

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/eslint-plugin)</summary>

###
[`v6.13.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6132-2023-12-04)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.13.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6131-2023-11-28)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.13.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6130-2023-11-27)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.12.0...v6.13.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/eslint-plugin](https://togithub.com/typescript-eslint/eslint-plugin)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.12.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#6120-2023-11-20)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.11.0...v6.12.0)

##### Bug Fixes

- **eslint-plugin:** \[class-methods-use-this] detect a problematic case
for private/protected members if `ignoreClassesThatImplementAnInterface`
is set
([#&#8203;7705](https://togithub.com/typescript-eslint/typescript-eslint/issues/7705))
([155aa1f](https://togithub.com/typescript-eslint/typescript-eslint/commit/155aa1f533d1fe23da3c66f9832343faf4866d85))
- **eslint-plugin:** \[no-unnecessary-condition] fix false positive with
computed member access and branded key type
([#&#8203;7706](https://togithub.com/typescript-eslint/typescript-eslint/issues/7706))
([f151b26](https://togithub.com/typescript-eslint/typescript-eslint/commit/f151b26d2178a617e82ad6a0279e3145e303f4f8))
- **eslint-plugin:** \[switch-exhaustiveness-check] enum members with
new line or single quotes are not being fixed correctly
([#&#8203;7806](https://togithub.com/typescript-eslint/typescript-eslint/issues/7806))
([a034d0a](https://togithub.com/typescript-eslint/typescript-eslint/commit/a034d0a3856aa07bd2d52b557fa33c7a88e9e511)),
closes
[#&#8203;7768](https://togithub.com/typescript-eslint/typescript-eslint/issues/7768)

##### Features

- \[member-ordering] add accessor support for member-ordering
([#&#8203;7927](https://togithub.com/typescript-eslint/typescript-eslint/issues/7927))
([3c8312d](https://togithub.com/typescript-eslint/typescript-eslint/commit/3c8312d1e135dc65fa41f629993cd03ed82e3255))
- **eslint-plugin:** \[switch-exhaustiveness-check] add
requireDefaultForNonUnion option
([#&#8203;7880](https://togithub.com/typescript-eslint/typescript-eslint/issues/7880))
([4cfcd45](https://togithub.com/typescript-eslint/typescript-eslint/commit/4cfcd451efb2563130896e42b45252909932c679))

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>typescript-eslint/typescript-eslint
(@&#8203;typescript-eslint/parser)</summary>

###
[`v6.13.2`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6132-2023-12-04)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.1...v6.13.2)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.13.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6131-2023-11-28)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.13.0...v6.13.1)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.13.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6130-2023-11-27)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.12.0...v6.13.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

###
[`v6.12.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#6120-2023-11-20)

[Compare
Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v6.11.0...v6.12.0)

**Note:** Version bump only for package
[@&#8203;typescript-eslint/parser](https://togithub.com/typescript-eslint/parser)

You can read about our [versioning
strategy](https://main--typescript-eslint.netlify.app/users/versioning)
and
[releases](https://main--typescript-eslint.netlify.app/users/releases)
on our website.

</details>

<details>
<summary>vuejs/core (@&#8203;vue/compiler-sfc)</summary>

###
[`v3.3.10`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#3310-2023-12-04)

[Compare
Source](https://togithub.com/vuejs/core/compare/v3.3.9...v3.3.10)

##### Bug Fixes

- **app:** prevent template from being cached between apps with
different options
([#&#8203;9724](https://togithub.com/vuejs/core/issues/9724))
([ec71585](https://togithub.com/vuejs/core/commit/ec715854ca12520b2afc9e9b3981cbae05ae5206)),
closes [#&#8203;9618](https://togithub.com/vuejs/core/issues/9618)
- **compiler-sfc:** avoid passing forEach index to genMap
([f12db7f](https://togithub.com/vuejs/core/commit/f12db7fb564a534cef2e5805cc9f54afe5d72fbf))
- **compiler-sfc:** deindent pug/jade templates
([6345197](https://togithub.com/vuejs/core/commit/634519720a21fb5a6871454e1cadad7053a568b8)),
closes [#&#8203;3231](https://togithub.com/vuejs/core/issues/3231)
[#&#8203;3842](https://togithub.com/vuejs/core/issues/3842)
[#&#8203;7723](https://togithub.com/vuejs/core/issues/7723)
- **compiler-sfc:** fix :where and :is selector in scoped mode with
multiple selectors
([#&#8203;9735](https://togithub.com/vuejs/core/issues/9735))
([c3e2c55](https://togithub.com/vuejs/core/commit/c3e2c556b532656b50b8ab5cd2d9eabc26622d63)),
closes [#&#8203;9707](https://togithub.com/vuejs/core/issues/9707)
- **compiler-sfc:** generate more treeshaking friendly code
([#&#8203;9507](https://togithub.com/vuejs/core/issues/9507))
([8d74ca0](https://togithub.com/vuejs/core/commit/8d74ca0e6fa2738ca6854b7e879ff59419f948c7)),
closes [#&#8203;9500](https://togithub.com/vuejs/core/issues/9500)
- **compiler-sfc:** support inferring generic types
([#&#8203;8511](https://togithub.com/vuejs/core/issues/8511))
([eb5e307](https://togithub.com/vuejs/core/commit/eb5e307c0be62002e62c4c800d0dfacb39b0d4ca)),
closes [#&#8203;8482](https://togithub.com/vuejs/core/issues/8482)
- **compiler-sfc:** support resolving components from props
([#&#8203;8785](https://togithub.com/vuejs/core/issues/8785))
([7cbcee3](https://togithub.com/vuejs/core/commit/7cbcee3d831241a8bd3588ae92d3f27e3641e25f))
- **compiler-sfc:** throw error when failing to load TS during type
resolution ([#&#8203;8883](https://togithub.com/vuejs/core/issues/8883))
([4936d2e](https://togithub.com/vuejs/core/commit/4936d2e11a8d0ca3704bfe408548cb26bb3fd5e9))
- **cssVars:** cssVar names should be double-escaped when generating
code for ssr
([#&#8203;8824](https://togithub.com/vuejs/core/issues/8824))
([5199a12](https://togithub.com/vuejs/core/commit/5199a12f8855cd06f24bf355708b5a2134f63176)),
closes [#&#8203;7823](https://togithub.com/vuejs/core/issues/7823)
- **deps:** update compiler to ^7.23.4
([#&#8203;9681](https://togithub.com/vuejs/core/issues/9681))
([31f6ebc](https://togithub.com/vuejs/core/commit/31f6ebc4df84490ed29fb75e7bf4259200eb51f0))
- **runtime-core:** Suspense get anchor properly in Transition
([#&#8203;9309](https://togithub.com/vuejs/core/issues/9309))
([65f3fe2](https://togithub.com/vuejs/core/commit/65f3fe273127a8b68e1222fbb306d28d85f01757)),
closes [#&#8203;8105](https://togithub.com/vuejs/core/issues/8105)
- **runtime-dom:** set width/height with units as attribute
([#&#8203;8781](https://togithub.com/vuejs/core/issues/8781))
([bfc1838](https://togithub.com/vuejs/core/commit/bfc1838f31199de3f189198a3c234fa7bae91386))
- **ssr:** avoid computed being accidentally cached before server render
([#&#8203;9688](https://togithub.com/vuejs/core/issues/9688))
([30d5d93](https://togithub.com/vuejs/core/commit/30d5d93a92b2154406ec04f8aca6b217fa01177c)),
closes [#&#8203;5300](https://togithub.com/vuejs/core/issues/5300)
- **types:** expose emits as props in functional components
([#&#8203;9234](https://togithub.com/vuejs/core/issues/9234))
([887e54c](https://togithub.com/vuejs/core/commit/887e54c347ea9eac4c721b5e2288f054873d1d30))
- **types:** fix reactive collection types
([#&#8203;8960](https://togithub.com/vuejs/core/issues/8960))
([ad27473](https://togithub.com/vuejs/core/commit/ad274737015c36906d76f3189203093fa3a2e4e7)),
closes [#&#8203;8904](https://togithub.com/vuejs/core/issues/8904)
- **types:** improve return type withKeys and withModifiers
([#&#8203;9734](https://togithub.com/vuejs/core/issues/9734))
([43c3cfd](https://togithub.com/vuejs/core/commit/43c3cfdec5ae5d70fa2a21e857abc2d73f1a0d07))

##### Performance Improvements

- optimize on\* prop check
([38aaa8c](https://togithub.com/vuejs/core/commit/38aaa8c88648c54fe2616ad9c0961288092fcb44))
- **runtime-dom:** cache modifier wrapper functions
([da4a4fb](https://togithub.com/vuejs/core/commit/da4a4fb5e8eee3c6d31f24ebd79a9d0feca56cb2)),
closes [#&#8203;8882](https://togithub.com/vuejs/core/issues/8882)
- **v-on:** constant handlers with modifiers should not be treated as
dynamic
([4d94ebf](https://togithub.com/vuejs/core/commit/4d94ebfe75174b340d2b794e699cad1add3600a9))

###
[`v3.3.9`](https://togithub.com/vuejs/core/blob/HEAD/CHANGELOG.md#339-2023-11-25)

[Compare
Source](https://togithub.com/vuejs/core/compare/v3.3.8...v3.3.9)

##### Bug Fixes

- **compiler-core:** avoid rewriting scope variables in inline for loops
([#&#8203;7245](https://togithub.com/vuejs/core/issues/7245))
([a2d810e](https://togithub.com/vuejs/core/commit/a2d810eb40cef631f61991ca68b426ee9546aba0)),
closes [#&#8203;7238](https://togithub.com/vuejs/core/issues/7238)
- **compiler-core:** fix `resolveParserPlugins` decorators check
([#&#8203;9566](https://togithub.com/vuejs/core/issues/9566))
([9d0eba9](https://togithub.com/vuejs/core/commit/9d0eba916f3bf6fb5c03222400edae1a2db7444f)),
closes [#&#8203;9560](https://togithub.com/vuejs/core/issues/9560)
- **compiler-sfc:** consistently escape type-only prop names
([#&#8203;8654](https://togithub.com/vuejs/core/issues/8654))
([3e08d24](https://togithub.com/vuejs/core/commit/3e08d246dfd8523c54fb8e7a4a6fd5506ffb1bcc)),
closes [#&#8203;8635](https://togithub.com/vuejs/core/issues/8635)
[#&#8203;8910](https://togithub.com/vuejs/core/issues/8910)
[vitejs/vite-plugin-vue#184](https://togithub.com/vitejs/vite-plugin-vue/issues/184)
- **compiler-sfc:** malformed filename on windows using
path.posix.join()
([#&#8203;9478](https://togithub.com/vuejs/core/issues/9478))
([f18a174](https://togithub.com/vuejs/core/commit/f18a174979626b3429db93c5d5b7ae5448917c70)),
closes [#&#8203;8671](https://togithub.com/vuejs/core/issues/8671)
[#&#8203;9583](https://togithub.com/vuejs/core/issues/9583)
[#&#8203;9446](https://togithub.com/vuejs/core/issues/9446)
[#&#8203;9473](https://togithub.com/vuejs/core/issues/9473)
- **compiler-sfc:** support `:is` and `:where` selector in scoped css
rewrite ([#&#8203;8929](https://togithub.com/vuejs/core/issues/8929))
([3227e50](https://togithub.com/vuejs/core/commit/3227e50b32105f8893f7dff2f29278c5b3a9f621))
- **compiler-sfc:** support resolve extends interface for defineEmits
([#&#8203;8470](https://togithub.com/vuejs/core/issues/8470))
([9e1b74b](https://togithub.com/vuejs/core/commit/9e1b74bcd5fa4151f5d1bc02c69fbbfa4762f577)),
closes [#&#8203;8465](https://togithub.com/vuejs/core/issues/8465)
- **hmr/transition:** fix kept-alive component inside transition
disappearing after hmr
([#&#8203;7126](https://togithub.com/vuejs/core/issues/7126))
([d11e978](https://togithub.com/vuejs/core/commit/d11e978fc98dcc83526c167e603b8308f317f786)),
closes [#&#8203;7121](https://togithub.com/vuejs/core/issues/7121)
- **hydration:** force hydration for v-bind with .prop modifier
([364f319](https://togithub.com/vuejs/core/commit/364f319d214226770d97c98d8fcada80c9e8dde3)),
closes [#&#8203;7490](https://togithub.com/vuejs/core/issues/7490)
- **hydration:** properly hydrate indeterminate prop
([34b5a5d](https://togithub.com/vuejs/core/commit/34b5a5da4ae9c9faccac237acd7acc8e7e017571)),
closes [#&#8203;7476](https://togithub.com/vuejs/core/issues/7476)
- **reactivity:** clear method on readonly collections should return
undefined ([#&#8203;7316](https://togithub.com/vuejs/core/issues/7316))
([657476d](https://togithub.com/vuejs/core/commit/657476dcdb964be4fbb1277c215c073f3275728e))
- **reactivity:** onCleanup also needs to be cleaned
([#&#8203;8655](https://togithub.com/vuejs/core/issues/8655))
([73fd810](https://togithub.com/vuejs/core/commit/73fd810eebdd383a2b4629f67736c4db1f428abd)),
closes [#&#8203;5151](https://togithub.com/vuejs/core/issues/5151)
[#&#8203;7695](https://togithub.com/vuejs/core/issues/7695)
- **ssr:** hydration `__vnode` missing for devtools
([#&#8203;9328](https://togithub.com/vuejs/core/issues/9328))
([5156ac5](https://togithub.com/vuejs/core/commit/5156ac5b38cfa80d3db26f2c9bf40cb22a7521cb))
- **types:** allow falsy value types in `StyleValue`
([#&#8203;7954](https://togithub.com/vuejs/core/issues/7954))
([17aa92b](https://togithub.com/vuejs/core/commit/17aa92b79b31d8bb8b5873ddc599420cb9806db8)),
closes [#&#8203;7955](https://togithub.com/vuejs/core/issues/7955)
- **types:** defineCustomElement using defineComponent return type with
emits ([#&#8203;7937](https://togithub.com/vuejs/core/issues/7937))
([5d932a8](https://togithub.com/vuejs/core/commit/5d932a8e6d14343c9d7fc7c2ecb58ac618b2f938)),
closes [#&#8203;7782](https://togithub.com/vuejs/core/issues/7782)
- **types:** fix `unref` and `toValue` when input union type contains
ComputedRef
([#&#8203;8748](https://togithub.com/vuejs/core/issues/8748))
([176d476](https://togithub.com/vuejs/core/commit/176d47671271b1abc21b1508e9a493c7efca6451)),
closes [#&#8203;8747](https://togithub.com/vuejs/core/issues/8747)
[#&#8203;8857](https://togithub.com/vuejs/core/issues/8857)
- **types:** fix instance type when props type is incompatible with
setup returned type
([#&#8203;7338](https://togithub.com/vuejs/core/issues/7338))
([0e1e8f9](https://togithub.com/vuejs/core/commit/0e1e8f919e5a74cdaadf9c80ee135088b25e7fa3)),
closes [#&#8203;5885](https://togithub.com/vuejs/core/issues/5885)
- **types:** fix shallowRef return type with union value type
([#&#8203;7853](https://togithub.com/vuejs/core/issues/7853))
([7c44800](https://togithub.com/vuejs/core/commit/7c448000b0def910c2cfabfdf7ff20a3d6bc844f)),
closes [#&#8203;7852](https://togithub.com/vuejs/core/issues/7852)
- **types:** more precise types for class bindings
([#&#8203;8012](https://togithub.com/vuejs/core/issues/8012))
([46e3374](https://togithub.com/vuejs/core/commit/46e33744c890bd49482c5e5c5cdea44e00ec84d5))
- **types:** remove optional properties from defineProps return type
([#&#8203;6421](https://togithub.com/vuejs/core/issues/6421))
([94c049d](https://togithub.com/vuejs/core/commit/94c049d930d922069e38ea8700d7ff0970f71e61)),
closes [#&#8203;6420](https://togithub.com/vuejs/core/issues/6420)
- **types:** return type of withDefaults should be readonly
([#&#8203;8601](https://togithub.com/vuejs/core/issues/8601))
([f15debc](https://togithub.com/vuejs/core/commit/f15debc01acb22d23f5acee97e6f02db88cef11a))
- **types:** revert class type restrictions
([5d077c8](https://togithub.com/vuejs/core/commit/5d077c8754cc14f85d2d6d386df70cf8c0d93842)),
closes [#&#8203;8012](https://togithub.com/vuejs/core/issues/8012)
- **types:** update jsx type definitions
([#&#8203;8607](https://togithub.com/vuejs/core/issues/8607))
([58e2a94](https://togithub.com/vuejs/core/commit/58e2a94871ae06a909c5f8bad07fb401193e6a38))
- **types:** widen ClassValue type
([2424013](https://togithub.com/vuejs/core/commit/242401305944422d0c361b16101a4d18908927af))
- **v-model:** avoid overwriting number input with same value
([#&#8203;7004](https://togithub.com/vuejs/core/issues/7004))
([40f4b77](https://togithub.com/vuejs/core/commit/40f4b77bb570868cb6e47791078767797e465989)),
closes [#&#8203;7003](https://togithub.com/vuejs/core/issues/7003)
- **v-model:** unnecessary value binding error should apply to dynamic
instead of static binding
([2859b65](https://togithub.com/vuejs/core/commit/2859b653c9a22460e60233cac10fe139e359b046)),
closes [#&#8203;3596](https://togithub.com/vuejs/core/issues/3596)

</details>

<details>
<summary>vueuse/vueuse (@&#8203;vueuse/core)</summary>

### [`v10.7.0`](https://togithub.com/vueuse/vueuse/releases/tag/v10.7.0)

[Compare
Source](https://togithub.com/vueuse/vueuse/compare/v10.6.1...v10.7.0)

#####    🚀 Features

- Upgrade deps  -  by [@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3614](https://togithub.com/vueuse/vueuse/issues/3614)
[<samp>(fccf2)</samp>](https://togithub.com/vueuse/vueuse/commit/fccf2e4d)
- **isIOS**: Detect new iPad  -  by
[@&#8203;Doctor-wu](https://togithub.com/Doctor-wu) and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3582](https://togithub.com/vueuse/vueuse/issues/3582)
[<samp>(47d2d)</samp>](https://togithub.com/vueuse/vueuse/commit/47d2d2e9)
- **onLongPress**: Add `distanceThreshold` option  -  by
[@&#8203;donaldxdonald](https://togithub.com/donaldxdonald) and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3578](https://togithub.com/vueuse/vueuse/issues/3578)
[<samp>(0e04a)</samp>](https://togithub.com/vueuse/vueuse/commit/0e04aa4a)
- **tryOnMounted**: Support target arguement  -  by
[@&#8203;tolking](https://togithub.com/tolking) and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3185](https://togithub.com/vueuse/vueuse/issues/3185)
[<samp>(f2aeb)</samp>](https://togithub.com/vueuse/vueuse/commit/f2aeb453)
- **useBreakpoints**: Make parameters reactivity  -  by
[@&#8203;Doctor-wu](https://togithub.com/Doctor-wu) in
[https://github.com/vueuse/vueuse/issues/3592](https://togithub.com/vueuse/vueuse/issues/3592)
[<samp>(dc624)</samp>](https://togithub.com/vueuse/vueuse/commit/dc6245b3)
- **useFileDialog**: Trigger onChange when reset  -  by
[@&#8203;Doctor-wu](https://togithub.com/Doctor-wu) in
[https://github.com/vueuse/vueuse/issues/3548](https://togithub.com/vueuse/vueuse/issues/3548)
[<samp>(7e2da)</samp>](https://togithub.com/vueuse/vueuse/commit/7e2da58a)
- **useInfiniteScroll**: Add the `canLoadMore` option  -  by
[@&#8203;Alfred-Skyblue](https://togithub.com/Alfred-Skyblue) in
[https://github.com/vueuse/vueuse/issues/3558](https://togithub.com/vueuse/vueuse/issues/3558)
[<samp>(e780f)</samp>](https://togithub.com/vueuse/vueuse/commit/e780f5a0)
- **usePointerSwipe**: Add `disableTextSelect` option  -  by
[@&#8203;aminmokhtari94](https://togithub.com/aminmokhtari94) in
[https://github.com/vueuse/vueuse/issues/3604](https://togithub.com/vueuse/vueuse/issues/3604)
[<samp>(fd67b)</samp>](https://togithub.com/vueuse/vueuse/commit/fd67ba3a)
- **useTitle**: Restore title on unmounted  -  by
[@&#8203;Doctor-wu](https://togithub.com/Doctor-wu) and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3570](https://togithub.com/vueuse/vueuse/issues/3570)
[<samp>(0ab76)</samp>](https://togithub.com/vueuse/vueuse/commit/0ab768d0)

#####    🐞 Bug Fixes

- **createEventHook**: Make createEventHook union type can be inferred
correctly  -  by [@&#8203;Doctor-wu](https://togithub.com/Doctor-wu) in
[https://github.com/vueuse/vueuse/issues/3569](https://togithub.com/vueuse/vueuse/issues/3569)
[<samp>(e48ca)</samp>](https://togithub.com/vueuse/vueuse/commit/e48ca071)
- **createEventHook**: `trigger` should not ignore falsy values  -  by
[@&#8203;romansp](https://togithub.com/romansp) and
[@&#8203;Alfred-Skyblue](https://togithub.com/Alfred-Skyblue) in
[https://github.com/vueuse/vueuse/issues/3561](https://togithub.com/vueuse/vueuse/issues/3561)
[<samp>(3733b)</samp>](https://togithub.com/vueuse/vueuse/commit/3733b8ee)
- **syncRef**: SyncRef typing issue for boolean  -  by
[@&#8203;s-montigny-desautels](https://togithub.com/s-montigny-desautels)
in
[https://github.com/vueuse/vueuse/issues/3553](https://togithub.com/vueuse/vueuse/issues/3553)
[<samp>(acb2f)</samp>](https://togithub.com/vueuse/vueuse/commit/acb2fe6b)
- **useAxios**: Reset `isAborted` value on success  -  by
[@&#8203;17359898647](https://togithub.com/17359898647) and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3547](https://togithub.com/vueuse/vueuse/issues/3547)
[<samp>(4b159)</samp>](https://togithub.com/vueuse/vueuse/commit/4b159380)
- **useDark**: In Vue 2.6 mode.system is undefined  -  by
[@&#8203;Teaghy](https://togithub.com/Teaghy), **hguan** and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3562](https://togithub.com/vueuse/vueuse/issues/3562)
[<samp>(68688)</samp>](https://togithub.com/vueuse/vueuse/commit/686884a1)
- **useDropZone**: Fix file types filter  -  by
[@&#8203;getname1997](https://togithub.com/getname1997) and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3540](https://togithub.com/vueuse/vueuse/issues/3540)
[<samp>(8f42a)</samp>](https://togithub.com/vueuse/vueuse/commit/8f42a92e)
- **useElementVisibility**: Use last intersection entry  -  by
[@&#8203;ziolko-appfire](https://togithub.com/ziolko-appfire), **Mateusz
Zieliński** and [@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3365](https://togithub.com/vueuse/vueuse/issues/3365)
[<samp>(07d39)</samp>](https://togithub.com/vueuse/vueuse/commit/07d39853)
- **useFetch**: Immediately modify the status after the request is
completed  -  by [@&#8203;tolking](https://togithub.com/tolking) and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3603](https://togithub.com/vueuse/vueuse/issues/3603)
[<samp>(3456d)</samp>](https://togithub.com/vueuse/vueuse/commit/3456d1b0)
- **useFetch**: Clone 'Response' on reading  -  by
[@&#8203;mymx2](https://togithub.com/mymx2) and
[@&#8203;antfu](https://togithub.com/antfu) in
[https://github.com/vueuse/vueuse/issues/3607](https://togithub.com/vueuse/vueuse/issues/3607)
and
[https://github.com/vueuse/vueuse/issues/3608](https://togithub.com/vueuse/vueuse/issues/3608)
[<samp>(8cbfd)</samp>](https://togithub.com/vueuse/vueuse/commit/8cbfd9d3)
- **useMemoize**: Use shallowReactive to wrap Map  -  by
[@&#8203;antfu](https://togithub.com/antfu)
[<samp>(fecbe)</samp>](https://togithub.com/vueuse/vueuse/commit/fecbe00e)
- **useMousePressed**: Change type of element parameter to
MaybeComputedElementRef  -  by
[@&#8203;4350pChris](https://togithub.com/4350pChris) in
[https://github.com/vueuse/vueuse/issues/3566](https://togithub.com/vueuse/vueuse/issues/3566)
[<samp>(17f97)</samp>](https://togithub.com/vueuse/vueuse/commit/17f97f63)
- **useOffsetPagination**: Don't mutate props when it's readonly  -  by
[@&#8203;Doctor-wu](https://togithub.com/Doctor-wu) in
[https://github.com/vueuse/vueuse/issues/3581](https://togithub.com/vueuse/vueuse/issues/3581)
[<samp>(4dace)</samp>](https://togithub.com/vueuse/vueuse/commit/4dacec8a)
- **useScreenOrientation**: Add fault tolerance to lock and unlock  - 
by [@&#8203;satrong](https://togithub.com/satrong) in
[https://github.com/vueuse/vueuse/issues/3575](https://togithub.com/vueuse/vueuse/issues/3575)
[<samp>(be3cc)</samp>](https://togithub.com/vueuse/vueuse/commit/be3ccc78)
- **useStorage**: Fix undefined defaults  -  by
[@&#8203;Doctor-wu](https://togithub.com/Doctor-wu) in
[https://github.com/vueuse/vueuse/issues/3597](https://togithub.com/vueuse/vueuse/issues/3597)
[<samp>(04220)</samp>](https://togithub.com/vueuse/vueuse/commit/04220788)

#####     [View changes on
GitHub](https://togithub.com/vueuse/vueuse/compare/v10.6.1...v10.7.0)

</details>

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v8.55.0`](https://togithub.com/eslint/eslint/releases/tag/v8.55.0)

[Compare
Source](https://togithub.com/eslint/eslint/compare/v8.54.0...v8.55.0)

#### Features

-
[`8c9e6c1`](https://togithub.com/eslint/eslint/commit/8c9e6c100a6eb69da292463293b3b48cff911a01)
feat: importNamePattern option in no-restricted-imports
([#&#8203;17721](https://togithub.com/eslint/eslint/issues/17721))
(Tanuj Kanti)

#### Documentation

-
[`83ece2a`](https://togithub.com/eslint/eslint/commit/83ece2afc2dc6c49efe82678663fe4cba590c0e5)
docs: fix typo `--rules` -> `--rule`
([#&#8203;17806](https://togithub.com/eslint/eslint/issues/17806))
(OKURA Masafumi)
-
[`fffca5c`](https://togithub.com/eslint/eslint/commit/fffca5c362bcd205dbf79d1bb52834f8a98fc6bd)
docs: remove "Open in Playground" buttons for removed rules
([#&#8203;17791](https://togithub.com/eslint/eslint/issues/17791))
(Francesco Trotta)
-
[`a6d9442`](https://togithub.com/eslint/eslint/commit/a6d9442a9ab34d5d19f78d8c8fd0767a1237bfe3)
docs: fix correct/incorrect examples of rules
([#&#8203;17789](https://togithub.com/eslint/eslint/issues/17789))
(Tanuj Kanti)
-
[`383e999`](https://togithub.com/eslint/eslint/commit/383e99928d7ce649ec9030c9856b03fbac0c3501)
docs: update and fix examples for `no-unused-vars`
([#&#8203;17788](https://togithub.com/eslint/eslint/issues/17788))
(Tanuj Kanti)
-
[`5a8efd5`](https://togithub.com/eslint/eslint/commit/5a8efd5b7ad13eb320a1f468d1d4ab3c8ab99214)
docs: add specific stylistic rule for each deprecated rule
([#&#8203;17778](https://togithub.com/eslint/eslint/issues/17778))
(Etienne)

#### Chores

-
[`eb8950c`](https://togithub.com/eslint/eslint/commit/eb8950c3b811c9163b9aae23af8b6266ad98b295)
chore: upgrade
[@&#8203;eslint/js](https://togithub.com/eslint/js)[@&#8203;8](https://togithub.com/8).55.0
([#&#8203;17811](https://togithub.com/eslint/eslint/issues/17811))
(Milos Djermanovic)
-
[`93df384`](https://togithub.com/eslint/eslint/commit/93df3849a7a25ebe0502000bf0bfb80a6613a5ae)
chore: package.json update for
[@&#8203;eslint/js](https://togithub.com/eslint/js) release (Jenkins)
-
[`fe4b954`](https://togithub.com/eslint/eslint/commit/fe4b9545a83e9aca7ba4bb77bc9c868d57de777f)
chore: upgrade
[@&#8203;eslint/eslintrc](https://togithub.com/eslint/eslintrc)[@&#8203;2](https://togithub.com/2).1.4
([#&#8203;17799](https://togithub.com/eslint/eslint/issues/17799))
(Milos Djermanovic)
-
[`bd8911d`](https://togithub.com/eslint/eslint/commit/bd8911db85c7a1127543c9212c8cea47a5cb687d)
ci: pin Node.js 21.2.0
([#&#8203;17809](https://togithub.com/eslint/eslint/issues/17809))
(Milos Djermanovic)
-
[`b29a16b`](https://togithub.com/eslint/eslint/commit/b29a16b22f234f6134475efb6c7be5ac946556ee)
chore: fix several `cli` tests to run in the intended flat config mode
([#&#8203;17797](https://togithub.com/eslint/eslint/issues/17797))
(Milos Djermanovic)
-
[`de165c1`](https://togithub.com/eslint/eslint/commit/de165c108203c6703516ac651f5b4cac5b241804)
chore: remove unused config-extends fixtures
([#&#8203;17781](https://togithub.com/eslint/eslint/issues/17781))
(Milos Djermanovic)
-
[`d4304b8`](https://togithub.com/eslint/eslint/commit/d4304b8b66eac870ffbf4840d84add8a123b25fc)
chore: remove formatting/stylistic rules from new rule templates
([#&#8203;17780](https://togithub.com/eslint/eslint/issues/17780))
(Francesco Trotta)
-
[`21024fe`](https://togithub.com/eslint/eslint/commit/21024fe2029420b413bed11d23761c87e9a02a1a)
chore: check rule examples for syntax errors
([#&#8203;17718](https://togithub.com/eslint/eslint/issues/17718))
(Francesco Trotta)

</details>

<details>
<summary>prettier/eslint-config-prettier
(eslint-config-prettier)</summary>

###
[`v9.1.0`](https://togithub.com/prettier/eslint-config-prettier/blob/HEAD/CHANGELOG.md#Version-910-2023-12-02)

[Compare
Source](https://togithub.com/prettier/eslint-config-prettier/compare/v9.0.0...v9.1.0)

- Added: \[unicorn/template-indent], (as a \[special
rule]\[unicorn/template-indent-special]). Thanks to Gürgün Dayıoğlu
([@&#8203;gurgunday](https://togithub.com/gurgunday))!
- Changed: All the \[formatting rules that were deprecated in ESLint
8.53.0]\[deprecated-8.53.0] are now excluded if you set the
`ESLINT_CONFIG_PRETTIER_NO_DEPRECATED` environment variable.

</details>

<details>
<summary>vuejs/eslint-plugin-vue (eslint-plugin-vue)</summary>

###
[`v9.19.2`](https://togithub.com/vuejs/eslint-plugin-vue/releases/tag/v9.19.2)

[Compare
Source](https://togithub.com/vuejs/eslint-plugin-vue/compare/v9.19.1...v9.19.2)

#### 🐛 Bug Fixes

-
[#&#8203;2336](https://togithub.com/vuejs/eslint-plugin-vue/issues/2336)
Fixed crash for TSFunctionType with `type-literal` option in
`vue/define-emits-declaration` rule

**Full Changelog**:
https://github.com/vuejs/eslint-plugin-vue/compare/v9.19.1...v9.19.2

###
[`v9.19.1`](https://togithub.com/vuejs/eslint-plugin-vue/releases/tag/v9.19.1)

[Compare
Source](https://togithub.com/vuejs/eslint-plugin-vue/compare/v9.19.0...v9.19.1)

#### 🐛 Bug Fixes

-
[#&#8203;2334](https://togithub.com/vuejs/eslint-plugin-vue/issues/2334)
Fixed broken config of `plugin:vue/vue3-strongly-recommended`

**Full Changelog**:
https://github.com/vuejs/eslint-plugin-vue/compare/v9.19.0...v9.19.1

###
[`v9.19.0`](https://togithub.com/vuejs/eslint-plugin-vue/compare/v9.18.1...v9.19.0)

[Compare
Source](https://togithub.com/vuejs/eslint-plugin-vue/compare/v9.18.1...v9.19.0)

</details>

<details>
<summary>omnidan/node-emoji (node-emoji)</summary>

###
[`v2.1.3`](https://togithub.com/omnidan/node-emoji/blob/HEAD/CHANGELOG.md#213-2023-11-20)

[Compare
Source](https://togithub.com/omnidan/node-emoji/compare/v2.1.2...v2.1.3)

##### Bug Fixes

- pin skin-tone to ^2.0.0 and add renovate.json ignoreDeps
([dcd6c43](https://togithub.com/omnidan/node-emoji/commit/dcd6c43f26b6537fb770b5309574c3e1ff3859c1))

###
[`v2.1.2`](https://togithub.com/omnidan/node-emoji/blob/HEAD/CHANGELOG.md#212-2023-11-20)

[Compare
Source](https://togithub.com/omnidan/node-emoji/compare/v2.1.1...v2.1.2)

##### Bug Fixes

- add back CJS support, with a test
([e2856d9](https://togithub.com/omnidan/node-emoji/commit/e2856d980d1e9335d5e62c7de25c1d22e6956584))

</details>

<details>
<summary>unplugin/unplugin-icons (unplugin-icons)</summary>

###
[`v0.18.1`](https://togithub.com/unplugin/unplugin-icons/releases/tag/v0.18.1)

[Compare
Source](https://togithub.com/unplugin/unplugin-icons/compare/v0.18.0...v0.18.1)

#####    🚀 Features

- Add Qwik JSX compiler  -  by
[@&#8203;userquin](https://togithub.com/userquin) in
[https://github.com/unplugin/unplugin-icons/issues/318](https://togithub.com/unplugin/unplugin-icons/issues/318)
[<samp>(11dcb)</samp>](https://togithub.com/unplugin/unplugin-icons/commit/11dcbc2)

#####     [View changes on
GitHub](https://togithub.com/unplugin/unplugin-icons/compare/v0.18.0...v0.18.1)

</details>

<details>
<summary>unplugin/unplugin-vue-components
(unplugin-vue-components)</summary>

###
[`v0.26.0`](https://togithub.com/unplugin/unplugin-vue-components/releases/tag/v0.26.0)

[Compare
Source](https://togithub.com/unplugin/unplugin-vue-components/compare/v0.25.2...v0.26.0)

#####    🚨 Breaking Changes

- Move to ESM first with dual esm/cjs package exports  -  by
[@&#8203;userquin](https://togithub.com/userquin) in
[https://github.com/unplugin/unplugin-vue-components/issues/720](https://togithub.com/unplugin/unplugin-vue-components/issues/720)
[<samp>(c15a9)</samp>](https://togithub.com/unplugin/unplugin-vue-components/commit/c15a9ba)

#####    🚀 Features

- **antdv**: Add new component  -  by
[@&#8203;selicens](https://togithub.com/selicens) and
[@&#8203;undefined-moe](https://togithub.com/undefined-moe) in
[https://github.com/unplugin/unplugin-vue-components/issues/715](https://togithub.com/unplugin/unplugin-vue-components/issues/715)
[<samp>(97c8d)</samp>](https://togithub.com/unplugin/unplugin-vue-components/commit/97c8d97)

#####     [View changes on
GitHub](https://togithub.com/unplugin/unplugin-vue-components/compare/v0.25.4...v0.26.0)

</details>

<details>
<summary>antfu/vite-plugin-windicss (vite-plugin-windicss)</summary>

###
[`v1.9.2`](https://togithub.com/windicss/vite-plugin-windicss/releases/tag/v1.9.2)

[Compare
Source](https://togithub.com/antfu/vite-plugin-windicss/compare/v1.9.1...v1.9.2)

#####    🚀 Features

- Search for \*.config.mts as config file  -  by
[@&#8203;webstrand](https://togithub.com/webstrand) in
[https://github.com/windicss/vite-plugin-windicss/issues/317](https://togithub.com/windicss/vite-plugin-windicss/issues/317)
[<samp>(71b6d)</samp>](https://togithub.com/windicss/vite-plugin-windicss/commit/71b6dd6)

#####    🐞 Bug Fixes

- **vite-plugin-windicss**: PeerDependencies with better compatibility
 -  by [@&#8203;markthree](https://togithub.com/markthree) in
[https://github.com/windicss/vite-plugin-windicss/issues/325](https://togithub.com/windicss/vite-plugin-windicss/issues/325)
[<samp>(1d537)</samp>](https://togithub.com/windicss/vite-plugin-windicss/commit/1d5376e)

#####     [View changes on
GitHub](https://togithub.com/windicss/vite-plugin-windicss/compare/v1.9.1...v1.9.2)

</details>

<details>
<summary>intlify/vue-i18n-next (vue-i18n)</summary>

###
[`v9.8.0`](https://togithub.com/intlify/vue-i18n-next/blob/HEAD/CHANGELOG.md#v980-2023-11-28T010045Z)

[Compare
Source](https://togithub.com/intlify/vue-i18n-next/compare/v9.7.1...v9.8.0)

This changelog is generated by [GitHub
Releases](https://togithub.com/intlify/vue-i18n-next/releases/tag/v9.8.0)

<!-- Release notes generated using configuration in .github/release.yml
at v9.8.0 -->

#### What's Changed

##### 🌟 Features

- feat: more strictly return type locale detector by
[@&#8203;kazupon](https://togithub.com/kazupon) in
[https://github.com/intlify/vue-i18n-next/pull/1640](https://togithub.com/intlify/vue-i18n-next/pull/1640)

**Full Changelog**:
https://github.com/intlify/vue-i18n-next/compare/v9.7.1...v9.8.0

###
[`v9.7.1`](https://togithub.com/intlify/vue-i18n-next/blob/HEAD/CHANGELOG.md#v971-2023-11-22T143624Z)

[Compare
Source](https://togithub.com/intlify/vue-i18n-next/compare/v9.7.0...v9.7.1)

This changelog is generated by [GitHub
Releases](https://togithub.com/intlify/vue-i18n-next/releases/tag/v9.7.1)

<!-- Release notes generated using configuration in .github/release.yml
at v9.7.1 -->

#### What's Changed

##### ⚡ Improvement Features

- fix: tweak `@intlify/core` conditional exports by
[@&#8203;kazupon](https://togithub.com/kazupon) in
[https://github.com/intlify/vue-i18n-next/pull/1639](https://togithub.com/intlify/vue-i18n-next/pull/1639)

**Full Changelog**:
https://github.com/intlify/vue-i18n-next/compare/v9.7.0...v9.7.1

</details>

<details>
<summary>vuejs/language-tools (vue-tsc)</summary>

###
[`v1.8.25`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1825-2023126)

[Compare
Source](https://togithub.com/vuejs/language-tools/compare/v1.8.24...v1.8.25)

- fix(component-type-helpers): correct type inference for
FunctionalComponent
([#&#8203;3766](https://togithub.com/vuejs/language-tools/issues/3766))
- thanks [@&#8203;pinguet62](https://togithub.com/pinguet62)
- fix(language-core): camelize props for dynamic component
([#&#8203;3774](https://togithub.com/vuejs/language-tools/issues/3774))
- thanks [@&#8203;so1ve](https://togithub.com/so1ve)

###
[`v1.8.24`](https://togithub.com/vuejs/language-tools/blob/HEAD/CHANGELOG.md#1824-20231129)

[Compare
Source](https://togithub.com/vuejs/language-tools/compare/v1.8.22...v1.8.24)

- refactor(component-type-helpers): vue 2 types now move to
`vue-component-type-helpers/vue2`
([#&#8203;3404](https://togithub.com/vuejs/language-tools/issues/3404))
- feat(language-core): expose `defineEmits`'s `arg` and `typeArg` in
`parseScriptSetupRanges`
([#&#8203;3710](https://togithub.com/vuejs/language-tools/issues/3710))
- thanks [@&#8203;so1ve](https://togithub.com/so1ve)
- fix(language-core): `strictTemplates` fails to report unknown
components
([#&#8203;3539](https://togithub.com/vuejs/language-tools/issues/3539))
- fix(language-core): script syntax breaks if script options does not
have trailing comma
([#&#8203;3755](https://togithub.com/vuejs/language-tools/issues/3755))
- fix(language-core): script syntax breaks if options are enclosed in
parentheses
([#&#8203;3756](https://togithub.com/vuejs/language-tools/issues/3756))
- fix(language-core): allow using `as` with multiple `<script>` blocks
([#&#8203;3733](https://togithub.com/vuejs/language-tools/issues/3733))
- thanks [@&#8203;so1ve](https://togithub.com/so1ve)
-   fix(language-core): component type narrowing not working in template
- fix(language-core): incremental insertion incorrect if input `<script
setup>` tag above `<script>` tag
([#&#8203;3743](https://togithub.com/vuejs/language-tools/issues/3743))
- thanks [@&#8203;so1ve](https://togithub.com/so1ve)
- fix(language-core): don't camelize attributes for plain elements
([#&#8203;3750](https://togithub.com/vuejs/language-tools/issues/3750))
- thanks [@&#8203;rchl](https://togithub.com/rchl)
- fix(vscode): syntax highlighting for `.prop` shorthand
([#&#8203;3729](https://togithub.com/vuejs/language-tools/issues/3729))
- thanks [@&#8203;so1ve](https://togithub.com/so1ve)

##### Volar.js 1.11.1 updates:

- fix: browser integration no longer requires node polyfill
([https://github.com/volarjs/volar.js/pull/70](https://togithub.com/volarjs/volar.js/pull/70))
- fix: document continuous change merge results are incorrect in
WebStorm
([https://github.com/volarjs/volar.js/pull/77](https://togithub.com/volarjs/volar.js/pull/77))
- thanks [@&#8203;browsnet](https://togithub.com/browsnet)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" (UTC), Automerge -
"before 4am" (UTC).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/woodpecker-ci/woodpecker).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@Alfred-Skyblue Alfred-Skyblue deleted the fix/useInfiniteScroll branch December 21, 2023 17:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[bug]: Infinite scroll loadMore hook keeps getting triggered
3 participants