Skip to content

Careers

Careers Accordion

Open roles as rows that open to a summary, a link and the requirements, with Load more.

Layout and motion from the Nitip template — see it in context

Installation

$ npx shadcn@latest add https://framebrick.co/r/blocks/careers-accordion.json

Usage

import { CareersAccordion } from "@/components/careers-accordion";

<CareersAccordion
  roles={[
    { title: "Paid media specialist", summary: "…", requirements: ["3+ years running paid campaigns"], href: "/careers/paid-media" },
  ]}
  pageSize={4}
/>

Props

PropTypeDefaultDescription
title / updatedstring—Section heading (h2, set small) and a short line at the right from 768px.
roles{ title, summary, requirements[], href }[]4 rolesOne row each; titles are h3.
pageSizenumber—Rows per page with a Load more button; leave it out to show every role.
action{ label, href }See all positionsButton under the list; pass undefined on the careers page.
labels{ summary, requirements, details, loadMore }—Text inside an open row and on the Load more button.
classNamestring—Classes for the <section>.
  • Rows open on their own, the first starts open, closed rows sit at 50% until hovered; the dot before a title fills when its row opens (from 640px).
  • An open row shows About the role, the summary and a More details link; the requirements take a 256px (1024px: 352px) column at the right from 768px.
  • With pageSize, rows past the page are added when loaded (Nitip keeps them hidden in the HTML).

AI prompt

Paste into v0, Lovable, Bolt or Claude to rebuild this block in your own project.

Create a React + Tailwind CSS + Motion block called CareersAccordion (Next.js).
- <section className="py-(--section-y)">, container mx-auto max-w-(--container) px-(--gutter), column items-start gap-8.
- Title row: a small h2 (font-heading text-h3 semibold) and a muted "Updated …" at the right from 768px.
- Rows (border-t on the list, border-b between rows): a button in an h3 with a 16px round dot (border-foreground, filled bg-foreground
  over 400ms when open, shown from 640px), the title (font-heading text-h3 semibold) and a plus that turns 45°; several rows can be
  open, the first starts open, closed rows at 50% until hover or focus; panel height 0 → auto with a spring (bounce 0, 0.4s).
- Panel: "About the role" over an <hr> and the muted summary, then a "More details" text link (underline grows on hover); at the right
  from 768px a 256px (lg 352px) "Requirements" column with a bulleted list.
- Optional paging: show pageSize rows and an outline "Load more" button that adds pageSize more; then a shadcn-style button with
  an arrow to all positions.
- Only shadcn variables and block tokens.

Be the first to know

Get new templates and components first

One short email when we release a template or a free component. No spam — unsubscribe anytime.

We use your email only for Framebrick updates. Privacy policy