Skip to content

🕸 Web APIs implemented as Vue.js composition functions

License

Notifications You must be signed in to change notification settings

Tarektouati/vue-use-web

Repository files navigation

vue-use-web

Web APIs implemented as Vue.js composition functions.

This is a collection of Web APIs exposed as Vue.js composition hooks that's upcoming in Vue 3.0

You can use them with Vue 2.0 using @vue/composition-api until Vue 3.0 gets out.

What and why

Web APIs are ever changing, this library aims to provide to Vue.js developers a stable interface that integrates well into the ecosystem. Also an interface that degrades gracefully when browsers do not support said features.

I initially was choosing to expose this as a Stateful functional components but that isn't very handy and is not future proof. Implementing these APIs in Vue composition API (hooks) makes them ready for Vue 3.0 and beyond. Personally I think this is the perfect example to showcase the power of the Composition API.

Installation

# install with yarn
yarn add @vue/composition-api vue-use-web

# install with npm
npm install @vue/composition-api vue-use-web

Usage

Kindly Check the documentation for examples.

APIs

Each composition function is designed to degrade gracefully so you can safely use them, but you should use these as a progressive enhancements for your apps. Check browsers compatibilities for each API.

  • Geo-location.
  • Battery.
  • Network.
  • Clipboard.
  • Fetch.
  • Device Motion.
  • Device Light.
  • Device Orientation.
  • Script.
  • Window Size.
  • Window Scroll Position.
  • Full-screen.
  • Intersection Observer.
  • Local Storage.
  • Bluetooth.
  • Notification.
  • Share.

Inspiration

This library is inspired by the-platform and standard-hooks for React.js.

License

MIT