Image zoom and multi-image lightbox — a modern TypeScript fork of medium-zoom, extended with album navigation, keyboard control, touch gestures, and a thumbnail strip.
pnpm add lumeoimport mediumZoom from 'lumeo'
import 'lumeo/style.css'
mediumZoom('img[data-zoomable]')Full README and API: packages/lumeo/README.md.
lumeo/
├── packages/
│ └── lumeo/ # the library (publishes to npm as `lumeo`)
└── apps/
└── demo/ # Vite + React showcase
pnpm install # install everything
pnpm dev:lib # watch-build the library
pnpm dev # start the demo (Vite, http://localhost:5180)
pnpm test # run library tests
pnpm typecheck # typecheck all packages
pnpm build # production library build
pnpm build:demo # production demo buildpackages/lumeo/package.json is the only package published to npm. To cut a
release:
# 1. bump packages/lumeo/package.json#version
# 2. commit + tag
git commit -am "release: v0.2.0"
git tag v0.2.0
git push --follow-tagsThe Publish workflow runs on tag push, builds, tests, and publishes to npm
with provenance. Configure an NPM_TOKEN repo secret first.
Built on top of François Chalifour's
medium-zoom. See
NOTICE for full attribution.
MIT