Skip to content

Marquee

DisplayMIT
View in Storybook

Infinite-scrolling row of children — logos, testimonials, badges. Pure CSS, fade edges, pause-on-hover.

bun add @otfdashkit/ui

Preview

Marquee
Loading Storybook preview…

Code

import { Marquee } from '@otfdashkit/ui'

const LOGOS = ['Acme', 'Globex', 'Initech', 'Umbrella', 'Hooli', 'Wonka', 'Stark Industries', 'Cyberdyne']

const LogoChip = ({ name }: { name: string }) => (
  <div className="flex h-12 min-w-[140px] items-center justify-center rounded-md border border-border bg-card px-6 font-mono text-sm uppercase tracking-widest text-muted-foreground">
    {name}
  </div>
)

export function Example() {
  return (
    <Marquee>
      {LOGOS.map((n) => (
        <LogoChip key={n} name={n} />
      ))}
    </Marquee>
  )
}

Free with the SDK. This component ships in @otfdashkit/ui under the MIT license.

Kit for this component

Landing templates$9 each

Scroll logos or testimonials in a continuous marquee.

See the kit

Props

Props declared in the Marquee source. Inherited HTML attributes are not listed.

PropTypeDefaultDescription
childrenrequiredReactNodeChildren rendered inside the scrolling track. Cloned once internally for a seamless loop.
direction'left' | 'right''left'Scroll direction.
fadebooleantrueSoft fade mask at left + right edges.
gapstring'gap-8'Gap between items, e.g. 'gap-4', 'gap-8'. Default 'gap-8'.
pauseOnHoverbooleantruePause animation on hover.
speed'slow' | 'normal' | 'fast''normal'Animation speed.