@spartan-components/sp-video

0.2.2 • Public • Published

<sp-video>

Lazy-loaded vimeo and youtube iframes (loads on user click)

This webcomponent follows the open-wc recommendation.

Installation

npm i @spartan-components/sp-video

Usage

<!-- Import module -->
<script type="module">
  import '@spartan-components/sp-video/sp-video.js';
</script>

<!-- Supported Providers: youtube, youtube-nocookie, vimeo -->
<sp-video
  provider="youtube-nocookie"
  video-id="K5DkT_zrzaw"
>
  <!-- Custom thumbnail image, declared as slot="thumbnail" -->
  <img
    slot="thumbnail"
    width="720"
    height="405"
    loading="lazy"
    src="https://img.youtube.com/vi/K5DkT_zrzaw/maxresdefault.jpg"
    alt=""
  />
  <!-- Custom video controller, declared as slot="controller", iframe loads on click -->
  <button
    slot="controller"
    class="hidden-when-undefined"
  >
    Play video
  </button>
  <!-- Fallback for browsers that don't support custom elements, has to use class="fallback-link" -->
  <a
    href="https://www.youtube.com/watch?v=K5DkT_zrzaw"
    class="fallback-link"
    target="blank"
    rel="noopener noreferrer"
  >
    Open video in new tab
  </a>
</sp-video>

Linting with ESLint, Prettier, and Types

To scan the project for linting errors, run

npm run lint

You can lint with ESLint and Prettier individually as well

npm run lint:eslint
npm run lint:prettier

To automatically fix many linting errors, run

npm run format

You can format using ESLint and Prettier individually as well

npm run format:eslint
npm run format:prettier

Tooling configs

For most of the tools, the configuration is in the package.json to reduce the amount of files in your project.

If you customize the configuration a lot, you can consider moving them to individual files.

Local Demo with es-dev-server

npm start

To run a local development server that serves the basic demo located in demo/index.html

Readme

Keywords

none

Package Sidebar

Install

npm i @spartan-components/sp-video

Weekly Downloads

8

Version

0.2.2

License

MIT

Unpacked Size

12.7 kB

Total Files

9

Last publish

Collaborators

  • timonforrer