Here is the link to the codebase of this image lightbox plugin - https://www.sveltelab.dev/mg31azbxbb3f1kh
It is just one component you will have to use it somewhere in the app.
<script>
import Lightbox from "$lib/Lightbox.svelte"
</script>
<Lightbox />
That’s it. Now you can use it to create a lightbox effect for image gallery. The class lbx
and dataset values are required.
<button data-image="1084-536x354-grayscale.jpg" data-title="Walrus" class="lbx">
<img src="1084-536x354-grayscale.jpg" alt="" />
</button>
<button data-image="218-536x354.jpg" data-title="A beach" class="lbx">
<img src="218-536x354.jpg" alt="" />
</button>
<button data-image="866-536x354.jpg" data-title="Snowy mountain" class="lbx">
<img src="866-536x354.jpg" alt="" />
</button>
Here is how it looks like,
Initial state
Lightbox effect
It looks pretty rough. I haven’t optimized it for accessibility as well but I think you can tweak it as per your liking.
You can navigate through the pictures using arrow keys on the keyboard but there isn’t a swipe support yet.
You are free to use this and build a package that can help others.
Thanks for reading!