Vibary.ai
← Vibe Coding

Refund Status

A refund walks down its stages while the vague estimate firms up into a real date.

commercecalmfriendlyautomatic · finite · intermediate · ~1.6s
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.

356 lines · react + motion only
import { useEffect, useState } from "react";
import { AnimatePresence, motion, useReducedMotion } from "motion/react";

/**
 * Vibary · Refund Status
 *
 * A refund walks down its stages while the estimate firms up: the vague
 * window a customer is given at the start crossfades into a real date

About this pattern

Waiting for money to come back is an anxious kind of waiting, so this moves slowly, downward and completely unexcited — no pulse, no loop, no celebration at the end. The rail fills on an eased curve rather than a spring, because a segment that overshoots runs past the stop it is meant to reach. The one thing that changes its wording is the estimate: the window the customer was given at the start crossfades into a firm date once the money has genuinely left, inside a fixed-height slot so the row cannot resize under someone re-reading it.

Refund progress screenReturn status in order historyChargeback trackingPayout status

Where it shows up

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

  • 10:15
    Out for deliveryRidgeline Supply · order 4821
    Ridgeline GTBone · US 9 · Qty 1$132.00
    Merino crew sock, 2-pack$24.00
    Shipping$0.00
    Tax$13.65
    Total$169.65
    Track order
    Order tracking

    Return tracking replaces a business-day window with a concrete date once the refund is issued.

Related patterns