fix: update imports for VueUse v14 compatibility (#8550)

Update imports for VueUse v14 compatibility:
- `toValue` → import from `vue` (dropped from VueUse v14)
- `MaybeRef` type → import from `vue` (dropped from VueUse v14)

These APIs were deprecated in VueUse v12 and removed in v14 in favor of
Vue's native exports.

┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-8550-fix-update-imports-for-VueUse-v14-compatibility-2fb6d73d365081b0bac1d01d4092c176)
by [Unito](https://www.unito.io)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated VueUse dependencies to newer versions for improved
compatibility
  * Minor package entry reorganization (no functional changes)

* **Refactor**
  * Consolidated imports to use native Vue utilities where applicable

* **Tests**
* Updated unit tests: improved outside-click simulation and cleanup;
migrated tests to use the real store setup for more realistic test
behavior
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Amp <amp@ampcode.com>
This commit is contained in:
Alexander Brown
2026-02-02 18:58:14 -08:00
committed by GitHub
parent 22755d2cb2
commit 21492ecca5
6 changed files with 213 additions and 173 deletions

View File

@@ -119,26 +119,28 @@ describe('TagsInput with child components', () => {
})
it('exits edit mode when clicking outside', async () => {
const outsideElement = document.createElement('div')
document.body.appendChild(outsideElement)
const wrapper = mount<typeof TagsInput<string>>(TagsInput, {
props: {
modelValue: ['tag1']
},
slots: {
default: () => h(TagsInputInput, { placeholder: 'Add tag...' })
},
attachTo: document.body
}
})
await wrapper.trigger('click')
await nextTick()
expect(wrapper.find('input').exists()).toBe(true)
document.body.click()
outsideElement.dispatchEvent(new PointerEvent('click', { bubbles: true }))
await nextTick()
expect(wrapper.find('input').exists()).toBe(false)
wrapper.unmount()
outsideElement.remove()
})
it('shows placeholder when modelValue is empty', async () => {