Staaarter

Set Menu Pricing Cards

Three-tier pricing cards for group dining with included items, minimum guests, and booking buttons. Perfect for prix fixe menus and event dining packages.

By Staaarter Team
Food
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its button, badge dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/set-menu-pricing-cards.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/food/food7.tsx instead.

Usage

The file also exports food7Demo, 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 { Food7, food7Demo } from "@/components/blocks/food/food7";

export default function Page() {
  return <Food7 {...food7Demo} />;
}

Props

PropTypeDefaultDescription
badgestringnonePill above the heading; only rendered when set.
headingReactNodenoneSection heading.
descriptionstringnoneSection intro text below the heading.
tiersPricingTier[][]Pricing tier cards, typically three.
classNamestringnoneExtra classes for the outer section element.

Types

type PricingTier = {
  name: string;
  price: string;
  priceUnit?: string;
  minGuests: string;
  includedItems: string[];
  href?: string;
  highlighted?: boolean;
  badgeLabel?: string;
};

Behavior notes

  • A tier's highlighted flag swaps its border/background treatment and its Book button's variant to default instead of outline; it does not change layout order or size.
  • badgeLabel is optional per tier and only rendered above the tier name when set, so unbadged tiers keep their normal spacing.
  • This is a plain server component: every "Book this menu" button is a real link via the render prop when href is set, with no client-side state or event handlers.