Staaarter

Salary Bands Table

A compensation transparency section listing engineering levels and roles, each with a visual range bar positioned and sized within a shared track to show where that level's salary band sits relative to the company's overall range, plus a short equity note per row. Falls back to a stacked layout on mobile.

By Staaarter Team
Careers
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/salary-bands-table.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/careers/careers35.tsx instead.

Usage

The file also exports careers35Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Careers35, careers35Demo } from "@/components/blocks/careers/careers35";

export default function Page() {
  return <Careers35 {...careers35Demo} />;
}

Props

PropTypeDefaultDescription
headingstringnoneSection heading.
descriptionstringnoneSection subheading.
overallRangeLabelstringnoneLabel describing the overall band range shown by the track, e.g. "$60k - $220k".
bandsSalaryBand[]noneList of level/role salary bands to render.
classNamestringnoneExtra classes for the outer section element.

Types

interface SalaryBand {
  level: string;
  role: string;
  rangeLabel: string;
  equityNote: string;
  barMarginLeftPct: number;
  barWidthPct: number;
}

Behavior notes

  • Fully static: each row's bar position (`marginLeft`) and size (`width`) are fixed percentage literals computed ahead of time from the demo salary data relative to the company's overall band, not computed at render time or randomized.