Skip to content

microcipcip/vue-use-kit

Repository files navigation



Vue use kit


NPM Version NPM Downloads Build Status GitHub license Demo

๐Ÿ› ๏ธ Vue kit of useful Vue Composition API functions.

Install

npm install vue-use-kit

Since Vue 3.0 has not yet been released, you must also install @vue/composition-api library, which will enable the composition API in Vue 2.0.

npm install @vue/composition-api

Setup

import Vue from 'vue'
import VueCompositionAPI from '@vue/composition-api'
Vue.use(VueCompositionAPI)

Usage

<template>
  <div>isDesktop: {{ isDesktop ? 'Yes' : 'No' }}</div>
</template>

<script lang="ts">
  import Vue from 'vue'
  import { useMedia } from 'vue-use-kit'

  export default Vue.extend({
    name: 'UseMedia',
    setup() {
      const query = '(min-width: 1024px)'
      const isDesktop = useMedia(query)
      return { isDesktop }
    }
  })
</script>

APIs

  • Sensors
    • useGeolocation โ€” tracks geolocation state of user's device. Demo
    • useHover โ€” tracks mouse hover state of a given element. Demo
    • useIdle โ€” tracks whether user is being inactive. Demo
    • useIntersection โ€” tracks intersection of target element with an ancestor element. Demo Demo
    • useLocation โ€” tracks bar navigation location state. Demo
    • useMedia โ€” tracks state of a CSS media query. Demo Demo
    • useMediaDevices โ€” tracks connected hardware devices. Demo
    • useMouse โ€” tracks the mouse position. Demo Demo
    • useMouseElement โ€” tracks the mouse position relative to given element. Demo
    • useMouseLeavePage โ€” tracks when mouse leaves page boundaries. Demo
    • useOrientation โ€” tracks state of device's screen orientation. Demo
    • useSize โ€” tracks size of an HTML element. Demo
    • useScroll โ€” tracks an HTML element's scroll position. Demo
    • useScrollbarWidth โ€” gets current browser's scrollbar width. Demo
    • useSearchParams โ€” tracks browser's location search params. Demo
    • useWindowSize โ€” tracks Window scroll position. Demo
  • Animations
    • useInterval โ€” updates counter value repeatedly on a fixed time delay. Demo
    • useIntervalFn โ€” calls function repeatedly on a fixed time delay. Demo
    • useRaf โ€” returns elapsedTime with requestAnimationFrame. Demo
    • useRafFn โ€” calls function with requestAnimationFrame. Demo Demo
    • useTimeout โ€” returns isReady true when timer is completed. Demo
    • useTimeoutFn โ€” calls function when timer is completed. Demo
  • Side Effects
    • useBeforeUnload โ€” shows browser alert when user try to reload or close the page. Demo
    • useCookie โ€” provides way to read, update and delete a cookie. Demo
    • useLocalStorage โ€” provides way to read, update and delete a localStorage key. Demo
    • useSessionStorage โ€” provides way to read, update and delete a sessionStorage key. Demo
  • UI
    • useClickAway โ€” triggers callback when user clicks outside target area. Demo
    • useFullscreen โ€” display an element in full-screen mode Demo
  • Utils
    • getQuery โ€” get a CSS media query string. Demo

Inspiration

Made with

About

๐Ÿ› ๏ธUseful collection of Vue composition API functions https://microcipcip.github.io/vue-use-kit/

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages