Changelog
Notable changes in each release.
The project follows Semantic Versioning. The source of this page is CHANGELOG.md.
1.3.1 (2026-11-04)
- More npm keywords, such as image viewer, slideshow and video, so the package shows up in more searches. No code changes.
1.3.0 (2026-11-04)
- Renamed from
@esdrassantos06/gallerytoliftbox, with docs at liftbox.digital. Installliftboxand change the imports toliftboxandliftbox/styles.css. The API, class names and--eg-*variables are unchanged. - Image slides take
sourcesfor a<picture>: AVIF or WebP versions bytypeand other crops bymedia, withsrcandsrcSetas the fallback. Sources wait their turn like the image. NewImageSourcetype. useLightboxHashtakesnames, one per slide, to put#prefix-harbourin the URL instead of#prefix-3. Numbered links keep opening.- Docs: a comparison with other React lightboxes and a migration guide from lightGallery.
1.2.0 (2026-11-02)
captionPosition="slide": lay each caption over the bottom of its own image, as wide as the image, moving with the slide. NewslideCaptionclass name.- New built-in icons from Mynaui Icons (MIT). Same 24px grid and 1.5px stroke, so
--eg-icon-sizeand custom icons work as before. - Fix: the caption covered the controls of videos, iframes and custom players such as Video.js. Those slides now fit above the caption.
- The open and close flight now clips the image to its thumbnail, so thumbnails cropped with
object-fit: covergrow into the full image without a jump. - Faster image loading: the current image is fetched first at high priority, neighbors wait until it loads and then follow at low priority, and the slide's
thumbnailshows as a placeholder until the full image arrives. New--eg-placeholder-sizevariable (coverby default). - Adaptive preloading: with Save-Data or on 2G only the current image is fetched, and on 3G or devices with 2 GB of memory or less
preloadis capped at 1. - Thousands of slides: the thumbnail strip renders only what is in view past 100 slides, the grids past 200 (the list gets
data-virtual), and the pager shows a window of 12 dots with smaller edge dots when there are more. Grids are memoized, so they no longer re-render when the page changes slide. - Videos: only the current video fetches metadata, neighbors use
preload="none". Grids and the thumbnail strip showthumbnail,posteror the YouTube poster, and never load a video file as an image. NewpreviewOf(slide)export with the same rule. - Load status and natural sizes are kept for the 300 most recently seen slides.
- Fix: a malformed download URL now reaches
download.onErrorinstead of throwing.
1.1.0 (2026-11-02)
-
Fix: in right-to-left layouts the counter read "12 / 1" and English captions moved their full stop to the start. The counter and caption now take their direction from their own text (
dir="auto"). -
Toolbar overflow: on narrow screens the buttons that do not fit move into an accessible "More options" menu (menu button pattern), zoom first; close stays visible. On by default,
toolbarOverflow={false}turns it off. -
idle: fade the top bar, arrows, caption, thumbnails and pager out after a pause, back on any input; never while a control has keyboard focus or the pointer. -
Right-to-left:
dir, or the inherited direction, mirrors arrows, swipes, arrow keys, thumbnails, pager and toolbar. -
Pinch to close: a pinch from fit released under the fitted size closes the viewer, unless it zoomed in first. On by default,
pinchToClose={false}turns it off. A zoomed or pinched image now flies back to its thumbnail from where it is on screen. -
flip: flip horizontally and vertically, composing with rotation and zoom. -
share: Web Share with a copy-link fallback and no third-party scripts. -
pager: accessible pager dots next to or instead of the thumbnail strip. -
New labels, icons, class names (
menu,menuItem,pager,pagerDot) and--eg-menu-*and--eg-pager-*variables for all of the above. -
The counter no longer wraps when the toolbar is full.
-
Optional
MasonryGrid,JustifiedGridandUniformGridwith responsive columns or row height, lazysrcsetthumbnails without layout shift and arefthat plugs intogetThumbnail, plus aGalleryFilterwitharia-pressedtoggle buttons and a live count. Each works with or without the lightbox, and they are tree-shaken away when unused.
1.0.0 (2026-11-02)
First release.
- Accessible lightbox: thumbnail flight on open and close, keyboard, swipe and flick navigation,
slide,fadeandzoomtransitions, captions, preloading withsrcset, focus trap and return, scroll lock. - Thumbnail strip, zoom (wheel, double click or tap, pinch, pan, buttons, keys), fullscreen, image loading and error states.
- Video files with sources and caption tracks, YouTube through
youtube-nocookie.com, Vimeo, iframe slides and a slideshow with a progress bar. useLightboxHashfor deep links with back-button close, rotation and downloads.- Works with custom players such as Video.js 10: the slideshow drives any native
<video>in the current slide, and drags and keys that content handles are left to it ([data-eg-no-gestures],event.preventDefault()). - Fully themeable through
--eg-*variables,labels,icons,classNamesandrender.