![Github Actions](https://img.shields.io/github/workflow/status/TarekTouati/vue-use-web/Lint%20and%20test/master?style=flat-square) ![Codacy grade](https://img.shields.io/codacy/grade/866989b53305443f9b1cdeb646b33d4c?style=flat-square) ![npm](https://img.shields.io/npm/v/vue-use-web?style=flat-square) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/vue-use-web?style=flat-square) ![npm](https://img.shields.io/npm/dm/vue-use-web?style=flat-square) [![GitHub license](https://img.shields.io/github/license/Tarektouati/vue-use-web?style=flat-square)](https://github.com/Tarektouati/vue-use-web/blob/master/LICENSE)
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.
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.
# install with yarn
yarn add @vue/composition-api vue-use-web
# install with npm
npm install @vue/composition-api vue-use-web
Kindly Check the documentation for examples.
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.
This library is inspired by the-platform and standard-hooks for React.js.
MIT