npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@alexaritan/photo-gallery

v0.0.9

Published

A TypeScript library for easily creating photo galleries in React apps.

Downloads

17

Readme

photo-gallery

A really simple TypeScript based photo gallery for React apps. Built using MUI.

Features

  • Displays a grid of photos by providing a list of URLs
  • Formats appropriately for desktop and mobile
  • Displays a single full page photo with
    • close, back, and next icons (on desktop)*
    • arrow key navigation (on desktop)*
    • swipe left/right to navigate, down the close (on mobile)*

* You'll need to provide the handleClose, handleNext, and handlePrevious functions for swipe, arrow key, and ui-based navigation on full page photos. I didn't want to closely couple this library with any specific implementation. One potential solution is using react-router-dom.

How to use

Install it

Yarn

yarn add @alexaritan/photo-gallery

or npm

npm i @alexaritan/photo-gallery

Use it

Display a gallery

import { PhotoGrid } from '@alexaritan/photo-gallery;

export const Gallery = () => {
	const photoUrls = ['./img1.jpg', './img2/jpg'];
	const onClick = (id) => console.log(`clicked image ${id}`);
	const subtitle = 'Sweet, sweet chocolate';
	const title = 'I remember when they first invested chocolate';

	return (
		<PhotoGrid
			imgUrls={photoUrls}
			onClick={onClick}
			subtitle={subtitle}
			title={title}
		/>
	);
};

View a single photo

import { FullPagePhoto } from '@alexaritan/photo-gallery';

export const Photo = () => {
	//Handlers for what to do when the user closes the image and for navigating between images.
	const handleClose = () => console.log('closed');
	const handleNext = () => console.log('next');
	const handlePrevious = () => console.log('previous');
	const src = './img1.jpg';

	return (
		<FullPagePhoto
			fullScreen={true}
			handleClose={handleClose}
			handleNext={handleNext}
			handlePrevious={handlePrevious}
			src={src}
		/>
	);
};

Gallery Screenshots

Default desktop display Gallery on desktop

Automatically reformats for mobile

Mobile formatting of gallery

Includes a "back to top" button after scrolling down a bit

Back to top button

Full page photo screenshot

Default desktop display includes a close button and next/previous buttons on desktop

Full page photo on desktop

Mobile display of a single photo doesn't include icons and supports swiping left/right between photos and down to close

Full page photo on mobile