scroll-area-horizontal-shadow-demo

PreviousNext
Docs
pureuiexample

Preview

Loading preview…
registry/pure-ui/examples/scroll-area/scroll-area-horizontal-shadow-demo.tsx
import Image from "next/image";

import {
  ScrollArea,
  ScrollAreaContent,
  ScrollBar,
} from "@/registry/pure-ui/ui/scroll-area";

export interface Artwork {
  artist: string;
  art: string;
}

export const works: Artwork[] = [
  {
    artist: "Ornella Binni",
    art: "https://images.unsplash.com/photo-1465869185982-5a1a7522cbcb?auto=format&fit=crop&w=300&q=80",
  },
  {
    artist: "Tom Byrom",
    art: "https://images.unsplash.com/photo-1548516173-3cabfa4607e9?auto=format&fit=crop&w=300&q=80",
  },
  {
    artist: "Vladimir Malyavko",
    art: "https://images.unsplash.com/photo-1494337480532-3725c85fd2ab?auto=format&fit=crop&w=300&q=80",
  },
];

export function ScrollAreaHorizontalShadowDemo() {
  return (
    <ScrollArea
      className="max-w-96 w-full rounded-md border whitespace-nowrap"
      scrollShadow="horizontal"
    >
      <ScrollAreaContent className="flex w-max space-x-4 p-4">
        {works.map((artwork) => (
          <figure key={artwork.artist} className="shrink-0">
            <div className="overflow-hidden rounded-md">
              <Image
                src={artwork.art}
                alt={`Photo by ${artwork.artist}`}
                className="aspect-3/4 h-fit w-fit object-cover"
                width={300}
                height={400}
              />
            </div>
            <figcaption className="text-muted-foreground pt-2 text-xs">
              Photo by{" "}
              <span className="text-foreground font-semibold">
                {artwork.artist}
              </span>
            </figcaption>
          </figure>
        ))}
      </ScrollAreaContent>
      <ScrollBar orientation="horizontal" />
    </ScrollArea>
  );
}

Installation

npx shadcn@latest add @pureui/scroll-area-horizontal-shadow-demo

Usage

import { ScrollAreaHorizontalShadowDemo } from "@/components/scroll-area-horizontal-shadow-demo"
<ScrollAreaHorizontalShadowDemo />