Photo gallery of company events, offsites, and team activities in masonry layout. Visual showcase of team culture and community.
A centered header (optional badge, heading, and description) above a responsive one-to-three-column grid of photo cards, each rendering an aspect-video cover image that scales up on hover plus a small title and optional caption, built to showcase company events, offsites, and team culture.
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/careers29?email=YOUR_EMAIL&license_key=YOUR_KEY"Base UI flavor
npx shadcn add "https://ui.beste.co/r-base/careers29?email=YOUR_EMAIL&license_key=YOUR_KEY"This installs the block to components/beste/block/careers29.tsx, plus the badge shadcn/ui primitive it uses for the section eyebrow badge.
The installed file exports careers29Demo alongside the block: the exact props behind the preview above. Spread it to get a working events gallery in one line.
import { Careers29, careers29Demo } from "@/components/beste/block/careers29";
export default function Page() {
return <Careers29 {...careers29Demo} />;
}Then replace the demo with your own props. Written out, a trimmed setup looks like this:
import { Careers29 } from "@/components/beste/block/careers29";
export default function Page() {
return (
<Careers29
badge={{ label: "Team Life", variant: "secondary" }}
heading="Events & <strong>offsites</strong>"
description="Some of the moments that bring us together."
items={[
{
image: { src: "/photos/offsite.jpg", alt: "Team hiking on offsite" },
title: "Annual Company Offsite",
description: "Three days in the mountains.",
},
{
image: { src: "/photos/hackathon.jpg", alt: "Team at hackathon" },
title: "Hackathon Week",
description: "48 hours to build anything.",
},
]}
/>
);
}| Prop | Type | Default | Description |
|---|---|---|---|
badge | { label: string; variant?: "default" | "secondary" | "outline" } | – | Optional eyebrow badge above the heading |
heading | string | – | Section heading, supports inline <strong> |
description | string | – | Supporting paragraph below the heading |
items | EventPhoto[] | [] | Photo cards rendered in the grid |
className | string | – | Extra classes for the outer <section> |
type EventPhoto = {
image?: { src: string; alt: string };
title: string;
description?: string;
};badge, heading, or description is provided, otherwise the grid sits alone.heading is injected via dangerouslySetInnerHTML, so inline <strong> markup renders and is recolored to text-primary; any raw HTML you pass is trusted and rendered as-is.badge.variant falls back to "default" when omitted, since the value is resolved with badge.variant ?? "default".item.image is missing the card renders only the title and caption with no picture placeholder, and item.description is likewise conditional.index, and the grid is purely presentational: there are no click handlers, links, or callbacks on any card, so wiring navigation or lightbox behavior is left to the integrator.sm:grid-cols-2 to lg:grid-cols-3; images use a fixed aspect-video frame and scale to 105% on hover via the per-card group/careers29 hover group.careers14
Team member photo grid with names and roles. Square portrait layout for showcasing leadership and team composition.
careers30
Engineering and team blog article preview cards with images, excerpts, and authors. Showcases technical depth and knowledge sharing culture.
careers7
Team culture stats bar followed by detailed job position cards. Combines social proof with open roles listing.
careers11
Company values grid with icon cards and employee testimonial quote. Showcases team culture and work philosophy.
careers13
Global office locations grid with city photos, team size, and role taglines. Showcases company presence worldwide.
careers32
Former employee showcase with career progression from company role to current position. Demonstrates the company as a career launchpad.