0.1.3 • Published 4 years ago

svelte-plyr v0.1.3

Weekly downloads
7
License
MIT
Repository
github
Last release
4 years ago

Known Vulnerabilities install size npm package version PRs Welcome

svelte-plyr

A Svelte 3 component-wrapper for Plyr.js

This component is released under a MIT license.

Examples: https://github.com/benwoodward/svelte-plyr/blob/master/src/App.svelte

npm install --save svelte-plyr plyr rollup-plugin-postcss node-sass

You may then begin to write a parent component that leverages the <Plyr> component:

components/YoutubePlyr.svelte

<script>
  import { Plyr } from "svelte-plyr";
  export let videoId;

  function logEvent(event) {
    console.log(event)
  }

  let player
</script>

<div class="youtube-plyr">
  <button on:click={() => player.play()}>PLAY</button>
  <button on:click={() => player.pause()}>PAUSE</button>
  <Plyr on:timeupdate={logEvent} bind:player={player}>
    <div class="plyr__video-embed">
      <iframe
        src="https://www.youtube.com/embed/{videoId}?iv_load_policy=3&modestbranding=1&playsinline=1&showinfo=0&rel=0&enablejsapi=1"
        allowfullscreen allowtransparency allow="autoplay">
      </iframe>
    </div>
  </Plyr>
</div>

<style>
.youtube-plyr {
  max-width: 800px;
}
</style>

Props

The <Plyr> component is equipped with all of Plyr's options! Just pass them in as props. Example:

<Plyr autoplay=true muted=false />

Events

The <Plyr /> component can be configured to emit specified events. In this example, the logEvent function is called whenever the plyr.js emits the timeupdate logEvent event.

<script>
  import { Plyr } from "svelte-plyr";

  function logEvent(event) {
    console.log(event)
  }

  let player
  let eventsToEmit = ['timeupdate']
</script>

<Plyr on:timeupdate={logEvent} eventsToEmit={eventsToEmit} bind:player={player}>
  // video embed code omitted
</Plyr>
0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago