Split Content Card

Private Events

Celebrate With Us

From intimate birthday dinners to corporate gatherings, our private dining room "The Cellar" offers seclusion and sophistication for groups up to 40.

  • Custom Menus
  • Dedicated Sommelier
  • AV Equipment Available
Private Dining
About this block

Split Content CardFREE

Two-column card with text content, bullet list, and CTA buttons alongside a full-height image. Perfect for feature highlights or promotional sections.

UseCase10: Split Content Card

Single two-column card, not a grid of many: one side carries a badge, heading, description, dot-bulleted list, and CTA buttons, the other side is a full-height image. The image side can be flipped to either edge of the card.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/usecase10"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/usecase10"

This installs the block to components/beste/block/usecase10.tsx and the badge and button shadcn/ui primitives it depends on.

Quick start

The installed file exports usecase10Demo alongside the block: the exact props behind the preview above. Spread it to get a working section in one line.

tsx
import { UseCase10, usecase10Demo } from "@/components/beste/block/usecase10";

export default function Page() {
  return <UseCase10 {...usecase10Demo} />;
}

Then replace the demo with your own props. Written out, the same setup looks like this:

tsx
import { Calendar } from "lucide-react";
import { UseCase10 } from "@/components/beste/block/usecase10";

export default function Page() {
  return (
    <UseCase10
      badge={{ label: "Private Events", icon: <Calendar className="size-3.5" />, variant: "outline" }}
      heading="Celebrate With Us"
      description="From intimate dinners to corporate gatherings, our private room offers seclusion for groups up to 40."
      listItems={[
        { id: "item-1", text: "Custom Menus" },
        { id: "item-2", text: "Dedicated Sommelier" },
      ]}
      buttons={[{ id: "btn-1", label: "Inquire for Events", href: "https://beste.co" }]}
      image={{ src: "https://images.unsplash.com/photo-1517248135467-4c7edcad34c4", alt: "Private Dining" }}
      imagePosition="left"
    />
  );
}

Props

PropTypeDefaultDescription
badge{ label: string; icon?: React.ReactNode; variant?: "default" | "secondary" | "outline" }Pill above the heading; omitted when badge.label is falsy
headingstringCard heading
descriptionstringCard body text
listItemsListItem[]Dot-bulleted list under the description
buttonsButtonItem[]CTA buttons under the list
image{ src: string; alt: string }Full-height image filling the other column
imagePosition"left" | "right""right"Which side of the card the image column sits on
classNamestringExtra classes for the outer <section>
ts
type ListItem = { id: string; text: string };

type ButtonItem = {
  id: string;
  label: string;
  href?: string;
  variant?: "default" | "secondary" | "outline" | "ghost" | "link";
};

Behavior notes

  • imagePosition is implemented with md:flex-row-reverse on the row when set to "left"; below md content and image always stack content-first regardless of the prop.
  • The first button in buttons defaults to variant="default" and every subsequent button defaults to "outline" unless it sets its own variant, so an unstyled two-button array automatically reads as one primary and one secondary action.
  • Buttons render via Button asChild wrapping a next/link, with href ?? "#" as the fallback target when a button omits href.
  • The image column has no fallback background pattern; when image is omitted, that column renders as a bare bg-muted panel with nothing inside it.
  • The whole block is a single bg-card panel with rounded-lg overflow-hidden shadow-lg, distinguishing it from the borderless, full-width layout of the other usecase blocks in this set.

More Use Case blocks

View all Use Case
PRO

usecase37

Detailed Feature Cards

Two-column grid of feature cards with icons, extended descriptions, and bullet point highlights. Perfect for comprehensive product feature or capability explanations.

PRO

usecase41

Role Use Case Cards

A use-case section with an eyebrow over a hairline rule, a two-column heading, and three bordered role cards with an icon chip, a role label, a title, a description, and an arrow link.

PRO

usecase51

Two Route Photo Columns

Two picture-led routes side by side, each with an eyebrow, title, dotted-rule expectations list and its own pill CTA, separated on desktop by a small pill divider sitting between the columns.

FREE

usecase2

Use Case Card Grid

Responsive grid of use case cards with hover effects, images, descriptions, and feature checklists. Perfect for displaying solutions for different industries or customer segments.

PRO

usecase17

Hover Reveal Cards

Card grid with background images that reveals detailed content on hover via smooth slide-up animation. Perfect for destination showcases or visual feature galleries.

PRO

usecase14

Segmented Control Tabs

Segmented control style tabs with split layout showing image, description, and bullet point features. Perfect for comparing solution approaches or product capabilities.