Ticket Selection Cart
A multi-ticket-type selector: each ticket tier has its own quantity stepper, a per-tier price, and a static availability note. A cart summary sums every tier's quantity × price into a live total. Perfect for event ticketing with multiple pass options.
Docs
Installation
A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button dependencies and any missing npm packages, and installs them straight into your project.
npx shadcn add https://staaarter.com/r/ticket-selection-cart.jsonPrefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/event/event7.tsx instead.
Usage
The file also exports event7Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.
import { Event7, event7Demo } from "@/components/blocks/event/event7"; export default function Page() { return <Event7 {...event7Demo} />; }
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| eyebrow | string | "Get your pass" | Small label above the heading. |
| heading | string | "Ticket Selection Cart" | Section heading. |
| description | string | "Pick a ticket type for each attendee. Your total updates as you go." | Supporting copy under the heading. |
| tiers | TicketTier[] | none | Ticket tiers available for purchase. |
| className | string | none | Extra classes for the outer section element. |
Types
interface TicketTier { id: string; name: string; price: number; /** Static demo copy, e.g. "42 left". */ availability: string; description?: string; }
Behavior notes
- Each tier's quantity is real client-side state (a single useState<Record<string, number>> keyed by tier id) — the +/- buttons directly change that tier's count, clamped at 0.
- The cart total and ticket count are derived inline during render by summing quantity × price across every tier.
- The Checkout button is decorative (disabled at zero tickets as a UI affordance, but has no real submit handler wired up).
More Event Blocks
View all →conference-hero-with-image
Conference Hero with Image
Split hero with a featured photo, date badge, location, attendee stat, and dual CTAs.
minimal-event-hero
Minimal Event Hero
Centered, image-free hero with an oversized heading, date/location line, and two CTAs.
event-hero-with-ticket-pricing
Event Hero with Ticket Pricing
Centered hero with an early-bird price, a strikethrough original price, and a deadline note.
event-hero-with-social-proof
Event Hero with Social Proof
Hero with a heading, a 3-stat strip (attendees/speakers/countries), and a trusted-by company row.
personal-schedule-builder
Personal Schedule Builder
Interactive session picker that lets attendees build their own conference agenda.
team-discount-calculator
Team Discount Calculator
Live quantity stepper that applies tiered group discounts to a seat total.