Offer Modal 1 - Exit-intent discount with email capture

A split dialog with a lifestyle image on one side and a bold percentage-off offer, email field and "No thanks" decline link on the other, switching to a confirmation with the code after submit. Use it as an exit-intent or first-visit popup to grow a newsletter list while rewarding sign-ups.

About Offer Modal 1

A split dialog with a lifestyle image on one side and a bold percentage-off offer, email field and "No thanks" decline link on the other, switching to a confirmation with the code after submit. Use it as an exit-intent or first-visit popup to grow a newsletter list while rewarding sign-ups.

Offer Modal 1 is a free offer modal block for React, built on shadcn/ui and Tailwind CSS. It ships as 141 lines of TypeScript you own: every piece of copy is a prop with a sensible default, so you can drop it in and replace the content without touching the layout.

  • modal
  • dialog
  • discount
  • email-capture
  • exit-intent
  • newsletter

Installation

  1. Add the Chocolate UI registry to your components.json (see the installation guide).
  2. Run the shadcn CLI:
npx shadcn@latest add @chocolate/offer-modal-01

Dependencies installed automatically: lucide-react.

Uses: button, dialog, input, label, reveal, utils.

Usage

import OfferModal01 from "@/components/blocks/offer-modal-01"

export default function Page() {
  return <OfferModal01 />
}

FAQ