- Vue ๐ Picture-in-picture!
- Built from scratch using TypeScript
- For Vue 3.x version โ
npm i v-pip
- For Vue 2.x version โ
npm i v-pip@1
- vue
^3.x
npm install v-pip # yarn add v-pip
CDN: UNPKG | jsDelivr (available as window.VPip
)
# install dependencies
$ npm ci
# package the library
$ npm run build
import { VPip } from 'v-pip';
Vue.component('VPip', VPip);
import Vue from 'vue';
import VPip from 'v-pip';
Vue.use(VPip);
import { VPip } from 'v-pip';
Example 1 (refer App.vue)
<v-pip
:video-options="videoOptions"
:button-options="buttonOptions"
@video-in-pip="handlePIP"
@requesting-pip-failure="handlePipOpenFailure"
@exiting-pip-failure="handlePipExitFailure"
/>
import { VPip } from 'v-pip';
Vue.component('example-component', {
components: {
VPip,
},
data: () => ({
isPip: false,
videoOptions: {
src: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
poster:
'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/images/BigBuckBunny.jpg',
wrapper: '',
class: '',
height: '',
width: '',
},
buttonOptions: {
wrapper: '',
type: 'button',
class: '',
label: 'Toggle picture-in-picture',
},
}),
methods: {
handlePIP(e) {
this.isPip = e;
},
handlePipOpenFailure(err) {
console.log('Video failed to enter Picture-in-Picture mode.', err);
},
handlePipExitFailure(err) {
console.log('Video failed to leave Picture-in-Picture mode.', err);
},
},
});
Example 2 (minimal)
<v-pip :video-options="videoOptions" />
import { VPip } from 'v-pip';
Vue.component('example-component', {
components: {
VPip,
},
data: () => ({
videoOptions: {
src: 'http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
},
}),
});
Name | Type | Required? | Description |
---|---|---|---|
video-options |
Object | Yes | The set of options required to setup the V-Pip component. |
button-options |
Object | No | The set of options for the toggle button |
Name | Description |
---|---|
video-in-pip |
Emits an Boolean whether the Video is in PIP or not |
requesting-pip-failure |
Emits an Object when the video fails to enter Picture-in-Picture mode. |
exiting-pip-failure |
Emits an Object when the video fails to leave Picture-in-Picture mode. |
- Fork it ( https://github.com/vinayakkulkarni/v-pip/fork )
- Create your feature branch (
git checkout -b feat/new-feature
) - Commit your changes (
git commit -Sam 'feat: add feature'
) - Push to the branch (
git push origin feat/new-feature
) - Create a new Pull Request
Note:
- Please contribute using GitHub Flow
- Commits & PRs will be allowed only if the commit messages & PR titles follow the conventional commit standard, read more about it here
- PS. Ensure your commits are signed. Read why
v-pip ยฉ Vinayak, Released under the MIT License.
Authored and maintained by Vinayak Kulkarni with help from contributors (list).
vinayakkulkarni.dev ยท GitHub @vinayakkulkarni ยท Twitter @_vinayak_k