Layout 70
background2 ColumnsText Align LeftImage/Video CenterBackground VideoListIcons

Code
relume-layout70.tsx
type ImageProps = {
src: string;
alt?: string;
};
type FeaturesProps = {
icon: ImageProps;
description: string;
};
type Props = {
heading: string;
description: string;
features: FeaturesProps[];
video: string;
videoType: string;
};
export type Layout70Props = React.ComponentPropsWithoutRef<"section"> & Partial<Props>;
export const Layout70 = (props: Layout70Props) => {
const { heading, description, features, video, videoType } = {
...Layout70Defaults,
...props,
};
return (
<section className="relative px-[5%] py-16 md:py-24 lg:py-28">
<div className="relative z-10 container">
<div className="grid grid-cols-1 items-start gap-x-12 gap-y-5 md:grid-cols-2 lg:gap-x-20">
<h3 className="text-h3 font-bold text-white">{heading}</h3>
<div>
<p className="mb-5 text-medium text-white md:mb-6">{description}</p>
<div className="grid grid-cols-1 gap-4 py-2">
{features.map((feature, index) => (
<div key={index} className="flex self-start">
<div className="mr-4 flex-none self-start">
<img className="size-6" src={feature.icon.src} alt={feature.icon.alt} />
</div>
<p className="text-white">{feature.description}</p>
</div>
))}
</div>
</div>
</div>
</div>
<div className="absolute inset-0 z-0">
<video className="absolute inset-0 aspect-video size-full object-cover" autoPlay loop muted>
<source src={video} type={videoType} />
</video>
<div className="absolute inset-0 bg-neutral-darkest/50" />
</div>
</section>
);
};
export const Layout70Defaults: Props = {
heading: "Long heading is what you see here in this feature section",
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.",
features: [
{
icon: {
src: "https://d22po4pjz3o32e.cloudfront.net/relume-icon-white.svg",
alt: "Relume logo 1",
},
description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
},
{
icon: {
src: "https://d22po4pjz3o32e.cloudfront.net/relume-icon-white.svg",
alt: "Relume logo 2",
},
description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
},
{
icon: {
src: "https://d22po4pjz3o32e.cloudfront.net/relume-icon-white.svg",
alt: "Relume logo 3",
},
description: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
},
],
video: "https://d22po4pjz3o32e.cloudfront.net/placeholder-video.mp4",
videoType: "video/mp4",
};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


