Staaarter

Full Bleed Strip With Sheet Viewer

An edge-to-edge strip of tall frames. Opening one fills the screen with the picture, while the caption, note, and a thumbnail strip sit in a sheet panel anchored to the bottom. A toggle button slides that sheet fully off-screen so the frame can be seen completely uncovered, then brings it back on request.

By Staaarter Team
Gallery
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, media-slot dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/full-bleed-strip-sheet-viewer.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/gallery/gallery14.tsx instead.

Usage

The file also exports gallery14Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Gallery14, gallery14Demo } from "@/components/blocks/gallery/gallery14";

export default function Page() {
  return <Gallery14 {...gallery14Demo} />;
}

Props

PropTypeDefaultDescription
headingstring"The Strip"Section heading above the strip.
descriptionstring"Tall frames, hung edge to edge. Open one full screen, then fold the sheet away to see it uncovered."Short supporting copy under the heading.
framesFullBleedFrame[]noneThe frames in the strip, rendered edge to edge in the order passed in.
classNamestringnoneExtra classes for the outer section element.

Types

type FullBleedFrame = {
  title: string;
  note: string;
  image: { src: string; alt: string };
};

Behavior notes

  • The details sheet's shown/hidden state is real client state (useState boolean), driving a genuine `translate-y-full` CSS transform transition, not a visibility or display toggle, so it visibly slides off the bottom edge.
  • The toggle button stays fixed above the sheet at all times (it isn't inside the sliding panel), so it's always reachable to bring the sheet back once it's hidden.
  • Prev/next and the thumbnail strip inside the sheet all drive the same active-index state; navigating always re-opens the sheet is left as-is (sheetOpen isn't reset on navigation), matching the brief's focus on manually folding the sheet away.
  • Escape and the arrow keys also move between frames, in addition to the on-screen controls.