Event Item Header 10



<section id="relume" class="relative px-[5%] py-16 md:py-24 lg:py-28">
<div class="container relative z-10">
<div
class="grid grid-cols-1 items-start gap-12 text-text-alternative 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 text-text-alternative">
<a class="" href="#">Events</a>
</li>
<li
role="presentation"
aria-hidden="true"
class="[&>svg]:size-4 text-text-alternative"
>
<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 text-text-alternative">
<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-alternative text-text-alternative 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>
<div class="absolute inset-0 z-0">
<img
src="https://d22po4pjz3o32e.cloudfront.net/placeholder-image.svg"
class="size-full object-cover"
alt="Relume placeholder image"
/>
<div class="absolute inset-0 bg-black/50"></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 EventItemHeader10Props = React.ComponentPropsWithoutRef<"section"> & Partial<Props>;
export const EventItemHeader10 = (props: EventItemHeader10Props) => {
const { breadcrumbs, heading, description, image, buttons, date, location, speaker, type } = {
...EventItemHeader10Defaults,
...props,
};
return (
<section id="relume" className="relative px-[5%] py-16 md:py-24 lg:py-28">
<div className="container relative z-10">
<div className="grid grid-cols-1 items-start gap-12 text-text-alternative 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 className="text-text-alternative">
<BreadcrumbLink href={item.url}>{item.title}</BreadcrumbLink>
</BreadcrumbItem>
{index < breadcrumbs.length - 1 && (
<BreadcrumbSeparator className="text-text-alternative" />
)}
</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>
<div className="absolute inset-0 z-0">
<img src={image.src} className="size-full object-cover" alt={image.alt} />
<div className="absolute inset-0 bg-black/50" />
</div>
</section>
);
};
export const EventItemHeader10Defaults: 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.svg",
alt: "Relume placeholder image",
},
buttons: [{ title: "Save my spot" }, { title: "View event", variant: "secondary-alt" }],
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.