Spotlight Bento — Interactive Bento Grid Feature Section
An interactive bento grid feature section: a timeline of features linked to image tiles, so the feature you point at takes the spotlight on both sides. Autoplay, light and dark themes, accessible, and works without JavaScript. Single HTML file, vanilla JS.
by UpForkComponentUpdated 4 Oct 2026
Code
1 file · 5 assets
Free for members
Sign up (it's free) to read the files above, copy them, install them with one command or download them as a ZIP.
Sign up freeAbout
A landing-page feature section where the two columns talk to each other: a feature list drawn as a timeline on the left, a bento grid of image tiles on the right. Point at a feature or a tile, or let autoplay run, and that feature takes the spotlight on both sides. Light and dark themes, accessible, works without JavaScript, and it's a single HTML file with no framework and no build step.
What you get
- A timeline that leads. Each feature has a ring marker: the active one fills with its accent color and glows, the connector line draws down to it, and a thin line shows the autoplay progress.
- A spotlight on the grid. The active tile comes forward in full color with an accent-tinted border and glow, its caption rises with a one-line description, and the other tiles step back. The headline gradient, the backdrop glow and the button fade to the active feature's color.
- Tiles with life. A slow Ken Burns zoom and pointer parallax on the active tile, a sheen that follows the cursor, glass pills for the icon and category, and captions that read on any image. A tile can be a link or a button, and can hold a muted looping video.
- Motion on arrival. The eyebrow, the headline word by word, the list, then the tiles. The call to action has a shimmer, a magnetic pull and a nudging arrow.
- Every screen size. A bento grid on desktop (or a plain 2 × 2 grid), 2 × 2 on tablets, and a swipeable snap strip on phones where the snapped tile is the active feature.
- Accessible and indexable. A real tablist with arrow-key navigation, a polite live region, visible focus, JSON-LD for the features, and reduced motion that keeps only fades.
Easy to make your own
The features live in one JSON block: title, description, accent color, category, icon, image or video, and link. There are options for autoplay, interval, layout, parallax and theme; next(), prev(), goTo(), pause() and play() plus an sfs:change event; and every color, radius and blur is a --sfs-* CSS variable.
Light and fast
Only transform and opacity animate, the first image loads with high priority and the rest lazily, and nothing shifts while it loads. The script is 3.6 KB gzipped. Works in the latest Chrome, Edge, Firefox and Safari (17.5 or newer).
What's in the download
index.html (open it and it runs), the sources in src/ with a build script, the Geist font (SIL OFL 1.1) and four demo photos from Unsplash, free for commercial use. Swap in screenshots of your own product.
Before you buy
Everything you need to know
How this component gets from the preview into your project, and what buyers ask most.
How to use it
From the preview to your project
- 01
Try it in the preview
Switch between light and dark, and resize it to phone and tablet widths, before you decide.
- 02
Get it
Free products are yours with a free account. Paid ones settle in USDT on TRON, sent straight to the wallet on your order.
- 03
Install it
Components go into your project with one shadcn command, dependencies included. Everything else downloads with a checksum.
- 04
Make it yours
It's your code now: rename it, restyle it and wire in your real data.
- 05
Or hand it to your AI
Copy the prompt and let your coding assistant place it in your project, following your conventions.
Yes, a free one: it keeps your order, every payment you make for it and the files together. Free products need it too: without an account you can look and try the live preview, but not download, install or copy anything.
Send the price as a USDT transfer on TRON (TRC-20) to the wallet on your order, shown with its QR code, then paste the transaction ID on the order. It's checked on-chain, and the files unlock once it's confirmed. Paid less? You're asked for the rest.
Yes. The Standard License covers unlimited personal and commercial projects, client work included; just don't resell it on its own. Open-source licenses say so on the product.
Create a CLI token on your account page, put it in your project's .env.local, add UpFork to components.json once, and install with npx shadcn add: free and paid components alike.
Onto your order, in your account. Download links last ten minutes and can be made again.
Releases are scanned for malware and reviewed before anyone can download them, and every file shows its SHA-256 so you can check what you got.
Building with an AI assistant?
Copy a ready-made prompt with the code, its dependencies and a demo, and your assistant can put it in place for you.
Selling your own work?
Get approved once, then publish components, templates and apps, paid in USDT straight to your own wallet.
Components



