A two-column careers section: a sticky left panel holds a badge, heading, description, a bulleted employer-value list, and a CTA button, while the right column renders a bordered, vertically stacked list of open roles as full-width anchor links, each showing a title, a department-and-location line, and an arrow icon that nudges on hover.
Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.
Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.
Radix flavor
npx shadcn add "https://ui.beste.co/r/careers48?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/careers48?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/careers48.tsx.
The installed file exports careers48Demo alongside the block: the exact props behind the preview above. Spread it to get a working careers section in one line.
import { Careers48, careers48Demo } from "@/components/beste/block/careers48";
export default function CareersPage() {
return <Careers48 {...careers48Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Careers48 } from "@/components/beste/block/careers48";
export default function CareersPage() {
return (
<Careers48
label="Careers At Polaris"
heading="Make work you would be proud to sign."
description="A small studio with a long memory, where craft is never an afterthought."
evp={[
"Four-day weeks, all summer long.",
"Profit sharing from your first project.",
]}
cta={{ label: "See all roles", href: "/careers" }}
roles={[
{
title: "Senior Brand Designer",
department: "Design",
location: "Remote — Europe",
href: "/careers/senior-brand-designer",
},
{
title: "Motion Director",
department: "Motion",
location: "Remote — Global",
href: "/careers/motion-director",
},
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
label | string | – | Eyebrow text passed to the Badge6 component; hidden when absent |
heading | string | – | Section heading rendered as plain text in an <h2> |
description | string | – | Intro paragraph below the heading |
evp | string[] | [] | Employer-value bullets, each with a decorative square marker |
cta | CtaLink | – | Label and href for the Button1 link at the bottom of the left panel |
roles | Role[] | [] | Open-role rows rendered as anchor links in the right column |
className | string | – | Extra classes merged onto the outer <section> |
type CtaLink = {
label: string;
href: string;
};
type Role = {
title: string;
department: string;
location: string;
href: string;
};useState, fires no callbacks, and navigation happens entirely through native anchor href values, so there is nothing to wire up beyond passing URLs.lg screens via lg:sticky lg:top-24 and stays pinned while the roles column scrolls past with the page; there is no internal overflow container or max-h, so a long roles list simply extends the page height.label, heading, description, and cta each require a truthy value, and the evp list only appears when evp.length > 0.lg:grid-cols-[0.85fr_1.15fr] ratio, giving the roles list slightly more width than the intro; below lg they stack into a single column.heading is rendered as plain text with no dangerouslySetInnerHTML, so inline <strong> or other markup in the string will be shown literally, not parsed.index and links to role.href; the title turns to text-primary and the trailing ArrowUpRight icon translates on group-hover/careers48.cta renders through Button1 with asChild wrapping a next/link Link and a fixed ArrowUpRight icon; the icon on both the CTA and role rows is hardcoded and not configurable via props.careers46
A full featured-role posting with responsibilities, requirements and a sticky apply card.
careers1
Job listings section with role cards showing department, location, and employment type. Clean list layout with hover effects and apply buttons.
careers5
Highlighted featured position card with a compact list of additional openings below. Great for showcasing priority roles.
careers4
Combined perks and job listings section with benefits grid and open positions list. Ideal for complete career pages.