Event Item Header 9



<section id="relume" class="px-[5%] py-16 md:py-24 lg:py-28">
<div class="container">
<div class="grid grid-cols-1 items-start gap-12 md:grid-cols-[1.5fr_1fr] lg:gap-20">
<div class="flex flex-col items-start">
<nav aria-label="breadcrumb" class="flex w-full items-center">
<ol class="flex flex-wrap items-center gap-1.5 break-words text-text-primary sm:gap-2">
<li class="inline-flex items-center gap-1.5"><a class="" href="#">Events</a></li>
<li
role="presentation"
aria-hidden="true"
class="text-text-primary [&>svg]:size-4"
>
<svg
stroke="currentColor"
fill="none"
stroke-width="0"
viewBox="0 0 15 15"
height="1em"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M6.1584 3.13508C6.35985 2.94621 6.67627 2.95642 6.86514 3.15788L10.6151 7.15788C10.7954 7.3502 10.7954 7.64949 10.6151 7.84182L6.86514 11.8418C6.67627 12.0433 6.35985 12.0535 6.1584 11.8646C5.95694 11.6757 5.94673 11.3593 6.1356 11.1579L9.565 7.49985L6.1356 3.84182C5.94673 3.64036 5.95694 3.32394 6.1584 3.13508Z"
fill="currentColor"
></path>
</svg>
</li>
<li class="inline-flex items-center gap-1.5"><a class="" href="#">Event title</a></li>
</ol>
</nav>
<h1 class="mt-8 text-5xl font-bold md:text-7xl lg:text-8xl">Event title heading</h1>
<p class="mt-5 text-base md:mt-6 md:text-md">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros
elementum tristique.
</p>
<div class="mt-6 flex flex-wrap items-center gap-4 md:mt-8">
<button
class="focus-visible:ring-border-primary inline-flex gap-3 items-center justify-center whitespace-nowrap ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-border-primary bg-background-alternative text-text-alternative px-6 py-3"
title="Save my spot"
>
Save my spot</button
><button
class="focus-visible:ring-border-primary inline-flex gap-3 items-center justify-center whitespace-nowrap ring-offset-white transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 border border-border-primary text-text-primary bg-background-primary px-6 py-3"
title="View event"
>
View event
</button>
</div>
</div>
<div class="grid grid-cols-2 gap-8">
<div>
<h6 class="mb-2 text-md font-bold leading-[1.4] md:text-xl">Date</h6>
Sat<!-- -->
<!-- -->10<!-- -->
<!-- -->Feb<!-- -->
<!-- -->2024
</div>
<div>
<h6 class="mb-2 text-md font-bold leading-[1.4] md:text-xl">Location</h6>
Sydney, Australia
</div>
<div>
<h6 class="mb-2 text-md font-bold leading-[1.4] md:text-xl">Speaker</h6>
Full name
</div>
<div>
<h6 class="mb-2 text-md font-bold leading-[1.4] md:text-xl">Type</h6>
In-person
</div>
</div>
</div>
<div class="mt-12 md:mt-18 lg:mt-20">
<div class="relative aspect-video">
<img
src="https://d22po4pjz3o32e.cloudfront.net/placeholder-image-landscape.svg"
class="size-full object-cover"
alt="Relume placeholder image"
/>
</div>
</div>
</div>
</section>
import * as React from "react";
import {
Button,
Breadcrumb,
BreadcrumbItem,
BreadcrumbLink,
BreadcrumbList,
BreadcrumbSeparator,
} from "@relume_io/relume-ui";
import type { ButtonProps } from "@relume_io/relume-ui";
type ImageProps = {
src: string;
alt?: string;
};
type BreadcrumbProps = {
url: string;
title: string;
};
type Date = {
weekday: string;
day: string;
month: string;
year: string | null;
};
type Props = {
breadcrumbs: BreadcrumbProps[];
heading: string;
description: string;
image: ImageProps;
buttons: ButtonProps[];
date: Date;
location: string;
speaker: string;
type: string;
};
export type EventItemHeader9Props = React.ComponentPropsWithoutRef<"section"> & Partial<Props>;
export const EventItemHeader9 = (props: EventItemHeader9Props) => {
const { breadcrumbs, heading, description, image, buttons, date, location, speaker, type } = {
...EventItemHeader9Defaults,
...props,
};
return (
<section id="relume" className="px-[5%] py-16 md:py-24 lg:py-28">
<div className="container">
<div className="grid grid-cols-1 items-start gap-12 md:grid-cols-[1.5fr_1fr] lg:gap-20">
<div className="flex flex-col items-start">
<Breadcrumb className="flex w-full items-center">
<BreadcrumbList>
{breadcrumbs.map((item, index) => (
<React.Fragment key={index}>
<BreadcrumbItem>
<BreadcrumbLink href={item.url}>{item.title}</BreadcrumbLink>
</BreadcrumbItem>
{index < breadcrumbs.length - 1 && <BreadcrumbSeparator />}
</React.Fragment>
))}
</BreadcrumbList>
</Breadcrumb>
<h1 className="mt-8 text-5xl font-bold md:text-7xl lg:text-8xl">{heading}</h1>
<p className="mt-5 text-base md:mt-6 md:text-md">{description}</p>
<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 className="grid grid-cols-2 gap-8">
<div>
<h6 className="mb-2 text-md font-bold leading-[1.4] md:text-xl">Date</h6>
{date.weekday} {date.day} {date.month} {date.year}
</div>
<div>
<h6 className="mb-2 text-md font-bold leading-[1.4] md:text-xl">Location</h6>
{location}
</div>
<div>
<h6 className="mb-2 text-md font-bold leading-[1.4] md:text-xl">Speaker</h6>
{speaker}
</div>
<div>
<h6 className="mb-2 text-md font-bold leading-[1.4] md:text-xl">Type</h6>
{type}
</div>
</div>
</div>
<div className="mt-12 md:mt-18 lg:mt-20">
<div className="relative aspect-video">
<img src={image.src} className="size-full object-cover" alt={image.alt} />
</div>
</div>
</div>
</section>
);
};
export const EventItemHeader9Defaults: Props = {
breadcrumbs: [
{ url: "#", title: "Events" },
{ url: "#", title: "Event title" },
],
heading: "Event title heading",
description:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.",
image: {
src: "https://d22po4pjz3o32e.cloudfront.net/placeholder-image-landscape.svg",
alt: "Relume placeholder image",
},
buttons: [{ title: "Save my spot" }, { title: "View event", variant: "secondary" }],
date: {
weekday: "Sat",
day: "10",
month: "Feb",
year: "2024",
},
location: "Sydney, Australia",
speaker: "Full name",
type: "In-person",
};
Need help?
For installation guidelines and API information, visit the docs.
Examples
No items found.