Slideshow Component

React, TypeScript
portfolio screencap
slideshow screencap
exas screencap
golden1 screencap
abbvie screencap
marioparty screencap
bowser screencap
ua3 screencap
cfc screencap
premera screencap
s2es screencap
pushgraph screencap
calc screencap
share screencap
bikini-bottom screencap
tomato screencap
trivia screencap
mix-match screencap
portfolio bbScreencap
slideshow bbScreencap
exas bbScreencap
golden1 bbScreencap
abbvie bbScreencap
marioparty bbScreencap
bowser bbScreencap
ua3 bbScreencap
cfc bbScreencap
premera bbScreencap
s2es bbScreencap
pushgraph bbScreencap
calc bbScreencap
share bbScreencap
bikini-bottom bbScreencap
tomato bbScreencap
trivia bbScreencap
mix-match bbScreencap

This is a reusable React slideshow component built to be deployed (optionally) as self-contained single-page app (SPA), developed as part of a deep dive into React hooks and state management.

Designed with scalability, performance, and accessibility in mind, it features auto-slide functionality, deep linking via dynamic routing, and intuitive user interactions, including pausing, resuming, and manual navigation.

The component is highly configurable — developers can pass in slides as an array of objects containing foreground and background images, thumbnails, and JSX content. It dynamically adjusts its height based on slide content to eliminate excess whitespace, ensuring an elegant layout across devices. Additionally, lazy-loaded images and optimized animations enhance performance for a smooth user experience.

Custom navigation controls are fully supported, with two built-in options available. Developers can also define their own controls and even integrate multiple sets.

More details are available in the code repo. This project is still evolving, with additional features and documentation in progress. It also serves as an example of code quality, so if JavaScript is your thing, take a look at the solutions it implements.

Code RepoLive Demo