Selected Work IndexPRO

A picture-free work index laid out as four aligned columns, year, client, what was done and the discipline, with the column heads appearing only once the row can hold them.

Portfolio118: Selected Work Index

A picture-free work index laid out as four aligned columns, year, client, what was done and the discipline, with the column heads appearing only once the row can hold them.

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.

Upgrade Now

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/portfolio118?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

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

This installs the block to components/beste/block/portfolio118.tsx and the badge6 component it uses for the eyebrow (installed to components/beste/component/badge6.tsx).

Quick start

The installed file exports portfolio118Demo alongside the block: the exact props behind the preview above. Spread it to get a working work index in one line.

tsx
import { Portfolio118, portfolio118Demo } from "@/components/beste/block/portfolio118";

export default function WorkPage() {
  return <Portfolio118 {...portfolio118Demo} />;
}

Then replace the demo with your own props. Written out, a trimmed setup looks like this:

tsx
import { Portfolio118 } from "@/components/beste/block/portfolio118";

export default function WorkPage() {
  return (
    <Portfolio118
      eyebrow="Selected work"
      heading="Everything worth showing, in one list"
      columns={{ year: "Year", client: "Client", work: "What we did", discipline: "Discipline" }}
      items={[
        {
          year: "2026",
          client: "Northwind",
          work: "A brand that survived a merger",
          discipline: "Brand",
          href: "/work/northwind",
        },
      ]}
      note="Work under agreement is not listed."
    />
  );
}

Props

PropTypeDefaultDescription
eyebrowstringBadge6 label above the hairline rule
headingstringSection heading under the rule
columns{ year: string; client: string; work: string; discipline: string }Column heads, shown from md up
itemsWorkRow[][]One linked row per project
notestringSingle line under the list
classNamestringExtra classes for the outer section
ts
type WorkRow = {
  year: string;
  client: string;
  work: string;
  discipline: string;
  href: string;
};

Behavior notes

More Portfolio blocks

View all Portfolio
PRO

portfolio104

Interactive Work Index

A numbered project index that cross-fades a sticky image preview as each row is hovered.

PRO

portfolio97

Work Preferences Checklist

Three-column categorized preferences with checkmarks and X icons showing preferred vs non-preferred work styles. Perfect for freelancers clarifying ideal project types and engagement models.

PRO

portfolio112

Project Index Rows

Editorial project index of ruled rows — padded numeral, project name, client and year, with a floating thumbnail revealed on hover.

PRO

portfolio105

Typographic Index

Oversized type project index where each row reveals a thumbnail and shifts to the accent on hover.

PRO

portfolio113

Client wall & selected work strip

A grayscale grid of bordered client logo cells followed by a strip of three selected-work thumbnails with titles, each linking out.

PRO

portfolio115

Recent Work List

Compact recent-work list of ruled rows, each a link with a small thumbnail, title, year, and an arrow.