Vibary.ai
← Vibe Coding

Shimmer Sweep

A soft highlight travels across placeholder blocks, each one a beat behind the last.

loadingsubtleelegantautomatic · looping · starter · ~1.5s
Variant

The animated component in this preview is rendered from the canonical file shown here. The surrounding demo shell only provides context and is not part of the copied code.

218 lines · react + motion only
import type { CSSProperties } from "react";
import { motion, useReducedMotion } from "motion/react";

/**
 * Vibary · Shimmer Sweep
 *
 * A soft highlight travels across placeholder blocks, each one a beat
 * behind the last, for waits with no progress to report.

About this pattern

The waiting texture for feeds and message lists with no progress to report. One soft band of light crosses each placeholder in turn; because the blocks are offset in reading order, it reads as a single light source moving over the panel rather than every box blinking together. It is deliberately quiet — this loops for as long as the request takes, so it has to stay unremarkable at the tenth repetition as well as the first.

Feed placeholderInbox loadingSearch results pendingPanel skeleton

Where it shows up

Screens we drew to show where this motion usually sits. Illustrations, not captures of any product.

  • OverviewLast 30 days
    Revenue$48,210+12.4%
    Orders1,284+3.1%
    Refunds$1,940−0.8%
    Revenue by day
    Dashboard

    The open-source treatment that made the travelling highlight the default skeleton look.

Related patterns