VueUse — 200+ composables.
Common composables:
useMouse — mouse position.useDark — dark mode.useLocalStorage — storage.useDebounceFn — debounce.useIntersectionObserver — observer.1<script setup>2import {3 useMouse,4 useDark,5 useLocalStorage,6 useDebounceFn,7 useIntersectionObserver8} from "@vueuse/core"910const { x, y } = useMouse()11const isDark = useDark()12const theme = useLocalStorage("theme", "light")13const debouncedSearch = useDebounceFn(search, 300)1415const target = ref(null)16useIntersectionObserver(target, ([entry]) => {17 console.log(entry.isIntersecting)18})19</script>