Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Guarantee Ribbon Banner Block for React

A centred refund guarantee for a notebook app: a corner ribbon reading Secured, a shield, a heading, one sentence, the 30-day window drawn as a bar of thirty cells, and fine print under a rule.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A refund guarantee card for React with Base UI. A centred card framed by + marks on its corners wears a ribbon across its start-top corner reading "Secured". Under it: a shield, "30-day refund on every annual plan", one sentence about how to ask, the 30-day window drawn as a bar of thirty cells labelled Day 1 and Day 30, and a row of fine print on a faintly tinted foot under a solid rule. There is no button: the card is a promise, and the call to action belongs to the page around it. The cells fill in one after another once on load. The ribbon is a rotated strip of plain CSS, clipped by the card's own box. It's built from Guides, with your theme's tokens for every colour. For refund and money-back promises, trials with no card, and any guarantee with a clear window.

FAQ

How do I change the refund window?

Change the number in the heading and in the sentence, the length of DAYS (30 cells) and the labels under the bar, and the bar's grid (grid-cols-[repeat(30,…)]). The bar is a picture of the window, not a control: it's hidden from assistive technology because the heading and the sentence already say it, so keep them in step with it.

What does the copy promise?

That the full amount goes back to the card used, if you write within 30 days of paying, on annual plans. The fine print says monthly plans can be cancelled at any time. Change the copy to match your real terms, and keep the card honest: a guarantee with exceptions should name them in the fine print, not hide them.

How does the corner ribbon work?

It's one span: a 9rem strip, turned 45 degrees with -rotate-45, parked across the corner with logical offsets (-start-9 top-7) inside a box with overflow-hidden and rounded corners, so the strip's ends are cut off by the card. The frame's + marks sit outside that box. Its label is real text, read before the heading.

What happens in a right-to-left layout?

The ribbon moves to the end-top corner and turns the other way (rtl:rotate-45), so it keeps crossing the corner the same way. The bar fills from the right, with Day 1 on the right, because a window reads in the reading direction.

What moves, and what happens with reduced motion?

The card fades up once, and the thirty cells fade in one after another over about half a second. With reduced motion the transitions are off and everything is simply there.

How does it fit on a phone?

The card keeps its padding and everything stays centred. The thirty cells share the width, so they're slimmer on a phone but still thirty. At 320 pixels nothing scrolls sideways.

  • Pro

    A centred milestone card for a running app: a corner ribbon reading Unlocked, a trophy, a heading, one sentence, a track of five pips with three earned, the next milestone named, and a Shine Button.

  • Pro

    A start-aligned early-access card for an API platform: a corner ribbon on the end-top corner, a sparkle, a heading, two sentences, a data list of three facts and a link to the migration guide.

  • Pro

    Pricing With Guarantee

    Proof and guarantees

    A free trial with a refund window drawn as a timeline: today, day 12, day 14 and day 30 on one line, beside the yearly plan, its price and call to action. It turns vertical on a phone.

  • Pro

    A centred bonus offer for a music-learning app: a gift tile, a Limited time badge, a heading, a strip of fifteen month cells with the last three outlined as free, and a Shine Button.

  • Pro

    A flash-sale countdown for a lighting shop: the product with its struck regular price and sale price, a clock of hours, minutes and seconds in three cells, a Shine Button to claim the price, and a thin meter of how much stock is claimed.

  • Pro

    A centred social-proof card for a team workspace: a line saying who and how many teams upgraded this week, with the count rolling up, a sentence, a ringed avatar stack and a Shine Button.