@voorhoede/vue-dato-video
@voorhoede/vue-dato-video
Fully optimized video component for videos from Dato CMS.
Features
- Supports both Vimeo and YouTube.
- Has a fixed ratio, so space is reserved before the video is loaded. This prevents annoying layout jumps.
- Supports an optional video caption.
- Has a cover image that lazy loads, meaning the image will only be downloaded when necessary, resulting in much faster page loads.
- Supports autoplay.
- Vapor Mode ready.
Installation
npm install @voorhoede/vue-dato-video
Usage
Import the component and register it globally in your Vue instance:
import { createApp } from "vue";
import App from "./App.vue";
import { VueDatoVideo } from "@voorhoede/vue-dato-video";
const app = createApp(App);
app.component("vue-dato-video", VueDatoVideo).mount("#app");
or locally in your component:
import { VueDatoVideo } from "@voorhoede/vue-dato-video";
Use the component in your template:
<vue-dato-video
:loop="false"
:autoplay="false"
:mute="false"
:video="{
url: 'https://www.youtube.com/watch?v=AoIq7P6DJKU',
title: 'A Love Letter to Winter',
width: 480,
height: 270,
provider: 'youtube',
providerUid: 'AoIq7P6DJKU',
thumbnailUrl: 'https://i.ytimg.com/vi/AoIq7P6DJKU/hqdefault.jpg',
}"
/>
The CSS file should be imported seperately in the way you desire. It's located at @voorhoede/vue-dato-video/style.
API
vue-dato-video
slots
-
captionCaption of the video -
playIconPlay icon of the video
props
-
videoObject (required)providerstring (required) The video provider. Options:youtube,vimeoproviderUidstring (required) The Uid of the video provider.titlestring (optional)default: undefinedThe title of the video.urlstring (required) The url of the video.widthnumber (required) Width of the video.heightnumber (required) Height of the video.thumbnailUrlstring (required) The thumbnail url of the video.
-
autoplayboolean (required) Whether the video should autoplay. -
loopboolean (required) Whether the video should loop. -
muteboolean (required) Whether the video should be muted. -
playIconAltstring (required) The alt text for the play icon.
Related Packages
@voorhoede/vue-lazy-load
**Component to lazy load content using the Intersection Observer API**
4,131
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 3.1.0 | ^3.3.2 | ISC | |
| 3.0.0 | ^3.3.2 | ISC | |
| 2.0.0 | ^3.3.2 | ISC | |
| 1.0.8 | ^3.3.2 | ISC | |
| 1.0.7 | ^2.6.11 | ||
| 1.0.6 | ^2.6.10 | ||
| 1.0.5 | ^2.6.10 | ||
| 1.0.4 | ^2.6.10 |