Career 2



<section id="relume" class="px-[5%] py-16 md:py-24 lg:py-28">
<div class="container">
<div class="mb-12 md:mb-18 lg:mb-20">
<div class="max-w-lg">
<p class="mb-3 font-semibold md:mb-4">Tagline</p>
<h2 class="mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl">Job Openings</h2>
<p class="md:text-md">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros
elementum tristique.
</p>
</div>
</div>
<div class="" data-orientation="vertical">
<div
data-state="closed"
data-orientation="vertical"
class="border-b border-border-primary first:border-t-0"
>
<h3 data-orientation="vertical" data-state="closed" class="flex w-full">
<button
type="button"
aria-controls="radix-:Rm:"
aria-expanded="false"
data-state="closed"
data-orientation="vertical"
id="radix-:R6:"
class="flex flex-1 items-center justify-between py-4 font-bold transition-all focus-visible:outline-none focus-visible:ring-0 [&[data-state=open]>svg]:rotate-180 text-2xl md:py-5 md:text-3xl md:leading-[1.3] lg:text-4xl"
data-radix-collection-item=""
>
Job Department<svg
stroke="currentColor"
fill="none"
stroke-width="0"
viewBox="0 0 15 15"
class="size-7 shrink-0 text-text-primary transition-transform duration-300 md:size-8"
height="1em"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z"
fill="currentColor"
></path>
</svg>
</button>
</h3>
<div
data-state="closed"
id="radix-:Rm:"
hidden=""
role="region"
aria-labelledby="radix-:R6:"
data-orientation="vertical"
class="overflow-hidden data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
style="
--radix-accordion-content-height: var(--radix-collapsible-content-height);
--radix-accordion-content-width: var(--radix-collapsible-content-width);
"
></div>
</div>
<div
data-state="closed"
data-orientation="vertical"
class="border-b border-border-primary first:border-t-0"
>
<h3 data-orientation="vertical" data-state="closed" class="flex w-full">
<button
type="button"
aria-controls="radix-:Rq:"
aria-expanded="false"
data-state="closed"
data-orientation="vertical"
id="radix-:Ra:"
class="flex flex-1 items-center justify-between py-4 font-bold transition-all focus-visible:outline-none focus-visible:ring-0 [&[data-state=open]>svg]:rotate-180 text-2xl md:py-5 md:text-3xl md:leading-[1.3] lg:text-4xl"
data-radix-collection-item=""
>
Job Department<svg
stroke="currentColor"
fill="none"
stroke-width="0"
viewBox="0 0 15 15"
class="size-7 shrink-0 text-text-primary transition-transform duration-300 md:size-8"
height="1em"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z"
fill="currentColor"
></path>
</svg>
</button>
</h3>
<div
data-state="closed"
id="radix-:Rq:"
hidden=""
role="region"
aria-labelledby="radix-:Ra:"
data-orientation="vertical"
class="overflow-hidden data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
style="
--radix-accordion-content-height: var(--radix-collapsible-content-height);
--radix-accordion-content-width: var(--radix-collapsible-content-width);
"
></div>
</div>
<div
data-state="closed"
data-orientation="vertical"
class="border-b border-border-primary first:border-t-0"
>
<h3 data-orientation="vertical" data-state="closed" class="flex w-full">
<button
type="button"
aria-controls="radix-:Ru:"
aria-expanded="false"
data-state="closed"
data-orientation="vertical"
id="radix-:Re:"
class="flex flex-1 items-center justify-between py-4 font-bold transition-all focus-visible:outline-none focus-visible:ring-0 [&[data-state=open]>svg]:rotate-180 text-2xl md:py-5 md:text-3xl md:leading-[1.3] lg:text-4xl"
data-radix-collection-item=""
>
Job Department<svg
stroke="currentColor"
fill="none"
stroke-width="0"
viewBox="0 0 15 15"
class="size-7 shrink-0 text-text-primary transition-transform duration-300 md:size-8"
height="1em"
width="1em"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z"
fill="currentColor"
></path>
</svg>
</button>
</h3>
<div
data-state="closed"
id="radix-:Ru:"
hidden=""
role="region"
aria-labelledby="radix-:Re:"
data-orientation="vertical"
class="overflow-hidden data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
style="
--radix-accordion-content-height: var(--radix-collapsible-content-height);
--radix-accordion-content-width: var(--radix-collapsible-content-width);
"
></div>
</div>
</div>
</div>
</section>
import {
Button,
Accordion,
AccordionContent,
AccordionItem,
AccordionTrigger,
} from "@relume_io/relume-ui";
import type { ButtonProps } from "@relume_io/relume-ui";
type JobProps = {
title: string;
location: string;
description: string;
button: ButtonProps;
url: string;
};
type JobDepartmentProps = {
title: string;
jobs: JobProps[];
};
type Props = {
tagline: string;
heading: string;
description: string;
jobDepartments: JobDepartmentProps[];
};
export type Career2Props = React.ComponentPropsWithoutRef<"section"> & Partial<Props>;
export const Career2 = (props: Career2Props) => {
const { tagline, heading, description, jobDepartments } = {
...Career2Defaults,
...props,
};
return (
<section id="relume" className="px-[5%] py-16 md:py-24 lg:py-28">
<div className="container">
<div className="mb-12 md:mb-18 lg:mb-20">
<div className="max-w-lg">
<p className="mb-3 font-semibold md:mb-4">{tagline}</p>
<h2 className="mb-5 text-5xl font-bold md:mb-6 md:text-7xl lg:text-8xl">{heading}</h2>
<p className="md:text-md">{description}</p>
</div>
</div>
<Accordion type="multiple">
{jobDepartments.map((jobDepartment, index) => (
<AccordionItem key={index} value={`item-${index}`} className="first:border-t-0">
<AccordionTrigger className="text-2xl md:py-5 md:text-3xl md:leading-[1.3] lg:text-4xl">
{jobDepartment.title}
</AccordionTrigger>
<AccordionContent className="mb-6 pb-0 md:mb-8">
{jobDepartment.jobs.map((job, index) => (
<div key={index} className="py-6 md:py-8">
<div className="mb-5 sm:flex sm:items-start sm:justify-between md:mb-6">
<div className="mb-5 sm:mb-0">
<h3 className="text-xl font-bold md:text-2xl">{job.title}</h3>
<p className="md:text-md">{job.location}</p>
</div>
<div>
<Button {...job.button} asChild>
<a href={job.url}>{job.button.title}</a>
</Button>
</div>
</div>
<p className="w-full max-w-lg">{job.description}</p>
</div>
))}
</AccordionContent>
</AccordionItem>
))}
</Accordion>
</div>
</section>
);
};
export const Career2Defaults: Props = {
tagline: "Tagline",
heading: "Job Openings",
description:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique.",
jobDepartments: [
{
title: "Job Department",
jobs: [
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
],
},
{
title: "Job Department",
jobs: [
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
],
},
{
title: "Job Department",
jobs: [
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
{
title: "Job Title",
location: "Location",
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. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.",
url: "#",
button: {
title: "Apply Now",
variant: "secondary",
size: "sm",
},
},
],
},
],
};
Need help?
For installation guidelines and API information, visit the docs.
Examples
No items found.