
Dynamic Island Toast
A pixel-faithful Apple Dynamic Island that morphs, splits, and breathes while it hosts live activities inside your app.
A seamless, GPU-only logo strip that never stutters or snaps at the loop point.
Infinite Marquee is a React and Tailwind CSS logo marquee that scrolls brand logos, customer names, or any items horizontally forever, in Next.js or any React app, with no animation library. Items render twice and the pair slides exactly half its width on the GPU, so the loop never jumps and stays smooth while the page is busy. Speed, direction, gap, and edge fades are props, pause on hover is opt in, the duplicate is hidden from screen readers, and the loop stops for reduced motion. If a gap shows before the wrap, add items or widen the gap.
Run the following command
pnpm dlx wensity@latest add infinite-marquee
npx wensity@latest add infinite-marquee
yarn dlx wensity@latest add infinite-marquee
bunx wensity@latest add infinite-marquee
Import InfiniteMarquee from @/components/wensity/infinite-marquee and render it anywhere in your React or Next.js app. The source lands in your own repo, so every prop, class and animation below is yours to edit.
"use client";import { InfiniteMarquee } from "@/components/wensity/infinite-marquee";const logos = ["Vercel", "Linear", "Stripe", "Figma", "Raycast", "Arc", "Loom"];export function InfiniteMarqueeDemo() {return (<InfiniteMarqueespeed={28}direction="left"pauseOnHoveritems={logos.map((label) => (<span key={label} className="text-2xl font-semibold tracking-tight text-neutral-500">{label}</span>))}/>);}
| Prop | Type | Default | Description |
|---|---|---|---|
items | React.ReactNode[] | - | Items rendered twice for a seamless loop. |
speed | number | 30 | Cycle duration in seconds. Lower is faster. |
direction | "left" | "right" | "left" | Animation direction. |
pauseOnHover | boolean | false | Pause the loop when the cursor enters. |
gap | string | "gap-20" | Tailwind gap class between items. |
fade | boolean | true | Apply soft mask-image fades at both edges. |

A pixel-faithful Apple Dynamic Island that morphs, splits, and breathes while it hosts live activities inside your app.

A pinned cinematic section that morphs in lock-step with scroll, staying perfectly in sync whichever way you travel.

Lava lamp background for React heroes: soft gradient shapes that drift and melt.

An Apple-style image sequence scrubbed frame by frame on canvas, following your hand as you scroll in either direction.
Featured in React carousel components.