Integration Marquee
ComponentsIntegration Marquee
SectionsNew

Integration Marquee

Three alternating logo ribbons with a cycling connection-status card.

USE IT FORIntegration sectionsPartner logosConnected tools
React + CSS
Explore the full-width experienceOpen preview

Bring your everyday tools together.

QuickBooksRidgeline HVAC Ltd. · 37 things it can doConnected
Live component. Go ahead, interact.
01

Installation

Run this in your shadcn-configured React project. The component and stylesheet are added together.

TERMINAL
npx shadcn@latest add http://localhost:5173/r/integration-marquee.json

This command uses the current site address. For localhost, keep this preview running on the same computer. Files follow your configured components alias.

02

Usage

Import the component and make the details your own.

TypeScript
import { IntegrationMarquee } from '@/components/anticraft/IntegrationMarquee';

export function Example() {
  const mail = <img src="/logos/mail.svg" alt="" />;
  const chat = <img src="/logos/chat.svg" alt="" />;
  return <IntegrationMarquee
    rows={[
      [{ id: 'mail', label: 'Mail', logo: mail }, { id: 'chat', label: 'Chat', logo: chat }],
      [{ id: 'files', label: 'Files', logo: <span>▧</span> }],
      [{ id: 'calendar', label: 'Calendar', logo: <span>▦</span> }],
    ]}
    connections={[
      { id: 'mail', name: 'Mail', detail: 'Team inbox connected', logo: mail },
      { id: 'chat', name: 'Chat', detail: 'Workspace connected', logo: chat },
    ]}
  />;
}
03

Props

PropTypeDefaultDescription
rowsIntegrationMarqueeItem[][]RequiredLogo rows with unique item ids, accessible labels and ReactNode logo artwork. Each row repeats decoratively to fill the available width and loop seamlessly.
connectionsIntegrationConnection[][]Optional illustrative status cards with id, name, detail and logo. This visual sequence does not connect real accounts.
titleReactNodeBring your everyday tools together.Large heading above the logo rows.
durationsnumber[][120, 140, 130]Seconds per row cycle, clamped to 20–300. The middle row moves in the opposite direction.
cycleConnectionsbooleantrueCycles connection examples through signing in, syncing and connected states. False keeps the current card connected.
paused / showControlsbooleanfalse / trueExternal pause override and native pause-control visibility. Reduced motion and hidden/offscreen state stop the sequence.
classNamestring''Additional classes. Customize --ac-integration-surface, --ac-integration-ink, --ac-integration-muted, --ac-integration-line, --ac-integration-tile and --ac-integration-font.
04

Motion & accessibility

Considered by default.

Logo rows translate continuously at three different speeds. A stationary overlay fades the edges without masking the moving tracks. Duplicate artwork is hidden from assistive technology. Pause and reduced motion stop both ribbons and the illustrative status sequence. Offscreen and hidden-document state suspend motion; resuming keeps ribbon position. The connected status is shown for reduced motion.

Use semantic content and meaningful labels in your composition. Check contrast and keyboard behavior with your own styles and content.

05

Inspiration

The ruled app grid, logo ribbons and opposing activity columns take their visual structure from this reference. Demo copy is independent; artwork credits are in the repository.

Visit Plyxl

The linked site is the design or content reference. See the repository for demo artwork credits.