A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://www.npmjs.com/package/vue-it-bigger below:

vue-it-bigger - npm

Vue It Bigger!

A simple image / (YouTube) video lightbox component for Vue.js 2. Based on vue-image-lightbox.

Click on the screenshot above for a demo.

Features Improvements over vue-image-lightbox Installation

You know the drill:

npm install vue-it-bigger
# or
yarn add vue-it-bigger
Usage

You can view App.vue or the demo for an usage example.

In the <script> section of your component import it:

import LightBox from 'vue-it-bigger'
import('vue-it-bigger/dist/vue-it-bigger.min.css') // when using webpack

Add it to the list of used components:

export default {
  components: {
    LightBox,
  },
}

And use it in the <template> section:

<LightBox :media="media"></LightBox>

The media prop has the following structure:

[
  { // For an image
    type: 'image', // Can be omitted for image
    thumb: 'http://example.com/thumb.jpg',
    src: 'http://example.com/image.jpg',
    caption: 'Caption to display. HTML <b>enabled</b>', // Optional
    srcset: '...' // Optional for displaying responsive images
  },
  { // For a YouTube video
    type: 'youtube',
    thumb: 'https://img.youtube.com/vi/WsptdUFthWI/hqdefault.jpg',
    id: 'WsptdUFthWI',
    caption: 'HTML <b>enabled</b> caption to display' // Optional
  },
  { // For a video that can be played in the <video> tag
    type: 'video',
    thumb: 'https://s3-us-west-1.amazonaws.com/powr/defaults/image-slider2.jpg',
    sources: [
      {
        src: 'https://www.w3schools.com/html/mov_bbb.mp4',
        type: 'video/mp4'
      }
    ],
    caption: '<h4>Monsters Inc.</h4>',
    width: 800, // Required
    height: 600, // Required
    autoplay: true // Optional: Autoplay video when the lightbox opens
  }
]
Using it with NuxtJs

Create a file named lightbox.js under the plugins directory with following contents:

import Vue from 'vue'

import LightBox from 'vue-it-bigger'
import('vue-it-bigger/dist/vue-it-bigger.min.css')

const plugin = {
  install() {
    Vue.component('LightBox', LightBox)
  },
}

Vue.use(plugin)

Add the plugin in nuxt.config.js:

plugins: [
  {
    src: '~/plugins/lightbox.js',
    ssr: false
  }
]

Use it in any of your components:

<no-ssr placeholder="Loading...">
  <!-- this component will only be rendered on client-side -->
  <LightBox
    :media="lightBoxMedia"
  ></LightBox>
</no-ssr>
Options Properties name type default description media Array required Media array to display showLightBox Boolean true Whether to show lightbox or not at the beginning startAt Number 0 Index of the image that you want to start at nThumbs Number 7 Number of thumbnail images showThumbs Boolean true Whether to show thumbnails or not autoPlay Boolean false Move to next image automatically autoPlayTime Number 3000 (ms) Time to stop at an image before move on to next image interfaceHideTime Number 3000 (ms) Time after which the interface is hidden showCaption Boolean false Whether to show caption or not disableScroll Boolean true set to `true` to avoid scrolling views behind lightbox lengthToLoadMore Number 0 Minimum length unto end to emit load more event closable Boolean true Display the close button at the right top corner or not. ESC clicking-close will also be disabled if closable is set to false. closeText String Close (Esc) Text for the close button previousText String Previous Text for the previous image button nextText String Next Text for the next image button Methods name arguments description nextImage () Move to next image previousImage () Move to previous image closeLightBox () Close lightbox showImage (index) Show the image at index Slots close

The content of the close button.

footer

The content of the footer under the image.

Slot props name type description current integer Number of the current image displayed total integer Number of images previous

The previous button on the main image.

next

The next button on the main image.

customCaption

The caption of the current image.

Slot props name type description currentMedia Object The currently displayed object from the media array

Usage example:

<LightBox
  ref="customCaptionLightbox"
  :media="media"
  :show-caption="true"
>
  <template v-slot:customCaption="slotProps">
    {{ slotProps.currentMedia.caption }}<br>
    There could be some description here.
  </template>
</LightBox>
videoIcon

The Icon used for videos

Events Development (NPM / Yarn)

Clone the repository, cd into it and run:

npm run dev
yarn dev

After you add or modify something make sure the tests still pass:

npm run test
yarn test
Release
  1. Make sure everything works locally by running yarn dev
  2. Bump the version in package.json
  3. Draft a new release on the releases page
  4. Publish the release
Credits License

This project is licensed under the the Apache License, Version 2.0.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4