Join The Studio

Sticky employer-value intro beside a scrollable open-roles list.

PRO

Careers48: Join The Studio

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.

Upgrade to Pro

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.

Installation

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

bash
npx shadcn add "https://ui.beste.co/r/careers48?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
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.

Quick start

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.

tsx
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:

tsx
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",
        },
      ]}
    />
  );
}

Props

PropTypeDefaultDescription
labelstringEyebrow text passed to the Badge6 component; hidden when absent
headingstringSection heading rendered as plain text in an <h2>
descriptionstringIntro paragraph below the heading
evpstring[][]Employer-value bullets, each with a decorative square marker
ctaCtaLinkLabel and href for the Button1 link at the bottom of the left panel
rolesRole[][]Open-role rows rendered as anchor links in the right column
classNamestringExtra classes merged onto the outer <section>
ts
type CtaLink = {
  label: string;
  href: string;
};

type Role = {
  title: string;
  department: string;
  location: string;
  href: string;
};

Behavior notes

More Careers blocks

View all Careers
PRO

careers40

Open Roles

A studio jobs list with role meta, salary and apply arrows.

PRO

careers46

Role Spotlight

A full featured-role posting with responsibilities, requirements and a sticky apply card.

PRO

careers44

Roles By Department

Department-tabbed open roles list using shadcn Tabs.

PRO

careers1

Job Listings List

Job listings section with role cards showing department, location, and employment type. Clean list layout with hover effects and apply buttons.

PRO

careers5

Featured Role with Positions

Highlighted featured position card with a compact list of additional openings below. Great for showcasing priority roles.

PRO

careers4

Perks & Open Positions

Combined perks and job listings section with benefits grid and open positions list. Ideal for complete career pages.