Layout 47
standard2 ColumnsText Align LeftButtonsText OnlyBenefits SectionAbout Section

Code
relume-layout47.tsx
import { Button, type ButtonProps } from "@/components/ui/button";
import { ChevronRight } from "relume-icons";
type SubHeadingProps = {
title: string;
description: string;
};
type Props = {
tagline: string;
heading: string;
description: string;
subHeadings: SubHeadingProps[];
buttons: ButtonProps[];
};
export type Layout47Props = React.ComponentPropsWithoutRef<"section"> & Partial<Props>;
export const Layout47 = (props: Layout47Props) => {
const { heading, description, subHeadings, tagline, buttons } = {
...Layout47Defaults,
...props,
};
return (
<section className="px-[5%] py-16 md:py-24 lg:py-28">
<div className="container">
<div className="grid grid-cols-1 gap-5 md:grid-cols-2 md:gap-x-12 md:gap-y-8 lg:gap-x-20">
<div>
<p className="mb-3 font-semibold md:mb-4">{tagline}</p>
<h2 className="text-h2 font-bold">{heading}</h2>
</div>
<div>
<p className="mb-6 text-medium md:mb-8">{description}</p>
<div className="grid grid-cols-1 gap-x-6 gap-y-8 py-2 sm:grid-cols-2">
{subHeadings.map((subHeading, index) => (
<div key={index}>
<h6 className="mb-3 text-h6 font-bold md:mb-4">{subHeading.title}</h6>
<p>{subHeading.description}</p>
</div>
))}
</div>
<div className="mt-6 flex flex-wrap items-center gap-4 md:mt-8">
{buttons.map((button, index) => (
<Button key={index} {...button}>
{button.title}
</Button>
))}
</div>
</div>
</div>
</div>
</section>
);
};
export const Layout47Defaults: Props = {
tagline: "Tagline",
heading: "Medium length section heading goes here",
description:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat.",
subHeadings: [
{
title: "Subheading one",
description:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros.",
},
{
title: "Subheading two",
description:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros.",
},
],
buttons: [
{ title: "Button", variant: "secondary" },
{
title: "Button",
variant: "link",
size: "link",
iconRight: <ChevronRight className="text-scheme-text" />,
},
],
};npm i @radix-ui/react-slot class-variance-authority@0.7.1 clsx@^2.1.1 relume-icons@1.3.0 tailwind-merge@^2.2.2


