This package is not WCAG-compliant yet. It was created when the author was not aware of how important it is to be fully accessible. Proceed with caution.
The live demo is available here: https://codepen.io/DCzajkowski/pen/rzOErW.
npm i vue-pure-lightbox --save<!-- In <head> --> <meta rel="stylesheet" href="https://unpkg.com/vue-pure-lightbox/dist/VuePureLightbox.css"> <!-- In <body>, after Vue import --> <script src="https://unpkg.com/vue-pure-lightbox/dist/VuePureLightbox.umd.min.js"></script>import VuePureLightbox from 'vue-pure-lightbox' /* @vue/component */ export default { components: { // ... VuePureLightbox, }, }If you are using an ES6 bundler, you will need to manually import the styles.
import styles from 'vue-pure-lightbox/dist/VuePureLightbox.css'<style src="vue-pure-lightbox/dist/VuePureLightbox.css"></style><script> new Vue({ components: { 'vue-pure-lightbox': window.VuePureLightbox, } }).$mount('#app') </script><VuePureLightbox thumbnail="/path/to/thumbnail.jpg" :images="['/path/to/image1.jpg', '/path/to/image1.jpg']" />Note: if you are not using a vue-loader (e.g. you are using a CDN), you have to use the kebab-case'ing for the component i.e.
<vue-pure-lightbox>instead of<VuePureLightbox>.
<VuePureLightbox thumbnail="https://via.placeholder.com/350x150" :images="[  { link: 'https://placekitten.com/1080/910', alt: 'Cat 1' },  { link: 'https://placekitten.com/1080/920', alt: 'Cat 2' },  ]" > <template v-slot:loader>Loadingโฆ</template> <template v-slot:content="{ url: { link, alt } }"> <img :src="link" :alt="alt"> </template> </VuePureLightbox>Note: if you are not using a vue-loader (e.g. you are using a CDN), you have to use the kebab-case'ing for the component i.e.
<vue-pure-lightbox>instead of<VuePureLightbox>.
| Prop | Type | Value | 
|---|---|---|
| thumbnail | string | Path to a file being your thumbnail | 
| images | string[] or array | Array of paths to files visible in the lightbox | 
| alternate-text | string | (Optional) alt="" text for your image | 
| value | boolean | (Optional) reactive visibility prop | 
| open-at-index | integer | (Optional) index of an image to show when opening the modal | 
This package consists of just one .vue file. It is meant to be as small and simple as possible. In return you get a <VuePureLightbox> Vue component that allows you to show images in a nice, responsive lightbox.
Supported keys:
- Arrow right - Go to the next image
 - Arrow left - Go to the previous image
 - Escape key - Close the modal
 - Arrow up, Arrow down and a Space Bar - inactive when the lightbox is visible
 
CSS is being used in the component, but each class is prefixed with a lightbox keyword. You can overwrite them as you wish.
If you find any bug or problem with the plugin please open an issue or create a pull request on the Github repo.

