Vibary.ai
← Vibe Coding

Sold Out State

The photo drains of colour and the buy action hands over to a notify control in the same slot.

commercecalmminimalautomatic · finite · starter · ~0.8s
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.

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

/**
 * Vibary · Sold Out State
 *
 * Stock runs out while the shopper is looking at the item. The photo
 * drains of colour, the availability dot goes quiet, and the buy action

About this pattern

An item becoming unavailable while someone is looking at it. Saturation carries the change on its own — no crossed-out overlay, no red wash — so the picture simply stops reading as an offer. The action swaps inside a fixed-height slot and the status line crossfades inside a fixed-height row, which means the card keeps its exact shape and nothing below it jumps. Bad news delivered with a bounce reads as a taunt, so every spring here settles once and stops.

Item goes out of stockTicket allocation exhaustedDiscontinued product cardWaitlist entry point

Where it shows up

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

  • NewMenWomenSale
    Men's trail shoeRidgeline GT$132Bone
    88.599.510
    Add to bag
    Free delivery and returns
    Product details
    Product page

    A drop selling out greys the product art and replaces the purchase action with a notify control.

Related patterns