Job openings grid with department badges, location tags, and apply buttons. Card-based layout for career pages.
A centered header (optional badge, <strong>-aware heading, and description) above a responsive one-to-three-column grid of job cards, each rendering a title, an optional department badge, location and type rows with icons, a description, and an "Apply Now" button that links out via next/link.
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/careers2?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/careers2?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/careers2.tsx, plus the badge and button shadcn/ui primitives it uses for the eyebrow and department badges and the per-card apply button.
The installed file exports careers2Demo alongside the block: the exact props behind the preview above. Spread it to get a working job openings grid in one line.
import { Careers2, careers2Demo } from "@/components/beste/block/careers2";
export default function CareersPage() {
return <Careers2 {...careers2Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Briefcase } from "lucide-react";
import { Careers2 } from "@/components/beste/block/careers2";
export default function CareersPage() {
return (
<Careers2
badge={{ label: "Open Positions", variant: "secondary" }}
heading="Find your <strong>dream role</strong>"
description="Browse our current openings and take the next step in your career."
items={[
{
title: "Backend Engineer",
department: "Engineering",
location: "Remote",
type: "Full-time",
description: "Design and build scalable APIs and microservices.",
href: "/jobs/backend-engineer",
icon: Briefcase,
},
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string; variant?: "default" | "secondary" | "outline" } | – | Optional eyebrow badge above the heading; variant falls back to "default" |
heading | string | – | Section heading, supports inline <strong> |
description | string | – | Supporting paragraph under the heading |
items | JobItem[] | [] | Job cards rendered in the grid |
className | string | – | Extra classes for the outer <section> |
type JobItem = {
title: string;
department?: string;
location?: string;
type?: string;
description?: string;
href?: string;
icon?: LucideIcon;
};badge, heading, or description is passed, the wrapping centered container is omitted and only the grid remains.heading is injected via dangerouslySetInnerHTML, so inline <strong> markup is styled with the primary color; only pass trusted strings.md:grid-cols-2, and lg:grid-cols-3; the column count is not configurable through props.href; a job with no href shows the card content but no call to action.next/link (a real page transition), so there is no onClick callback or selection state to wire up; there is no console.log stub either.JobItem.icon field is accepted in the type and demo data but never rendered by the component; passing it has no visual effect.flex-col with the description marked flex-1, so buttons align to the bottom edge across a row even when descriptions differ in length.careers18
Department cards with team lead, headcount, open roles badge, and links. Helps candidates explore teams before applying.
careers1
Job listings section with role cards showing department, location, and employment type. Clean list layout with hover effects and apply buttons.
careers3
Department-grouped job listings with minimal row layout. Jobs organized by team with location and type indicators.
careers13
Global office locations grid with city photos, team size, and role taglines. Showcases company presence worldwide.
careers4
Combined perks and job listings section with benefits grid and open positions list. Ideal for complete career pages.
careers14
Team member photo grid with names and roles. Square portrait layout for showcasing leadership and team composition.