Skip to content

Features Showcase

Work showcase as the feature: an asymmetric grid (fixed row heights; wide, tall, square and full-width spans) of neutral gray image frames with mono captions (studio — project, template used); captions underline on hover.

mono-clean/section/features-showcase
Open ↗

Source

import { cn } from "@/lib/utils";

export interface FeaturesShowcaseProps {
  label?: string;
  title?: string;
  projects?: { studio: string; project: string; template: string; size: "wide" | "tall" | "square" | "full" }[];
  className?: string;
}

const DEFAULT_PROJECTS: NonNullable<FeaturesShowcaseProps["projects"]> = [
  { studio: "Nord Studio", project: "Oslo Opera identity", template: "Atlas", size: "wide" },
  { studio: "Hanne Lund", project: "Still Life, 2025", template: "Still", size: "tall" },
  { studio: "Kasa", project: "Kiln Coffee packaging", template: "Folio", size: "square" },
  { studio: "Werk", project: "Moss lamp", template: "Plain", size: "square" },
  { studio: "Ortho", project: "Tidal rebrand", template: "Signal", size: "full" },
];

const SPAN = { wide: "sm:col-span-2", tall: "sm:row-span-2", square: "", full: "sm:col-span-3" } as const;

/** Work showcase as the feature: an asymmetric grid (fixed row heights; wide, tall, square and full-width spans) of neutral gray image frames with mono captions (studio — project, template used); captions underline on hover. */
export function FeaturesShowcase({ label = "(04) Showcase", title = "Made with Frame", projects = DEFAULT_PROJECTS, className }: FeaturesShowcaseProps) {
  return (
    <section aria-labelledby="mc-fsh-title" className={cn("da-section bg-da-bg text-da-fg", className)}>
      <div className="da-container">
        <div className="flex items-end justify-between gap-6 border-b border-da-border-strong pb-4">
          <div>
            <p className="font-da-mono text-xs tracking-da-label text-da-muted-fg uppercase">{label}</p>
            <h2 id="mc-fsh-title" className="mt-3 font-da-display text-[clamp(2rem,4vw,3rem)] leading-none font-medium tracking-da-display">
              {title}
            </h2>
          </div>
          <a href="#showcase" className="da-focus shrink-0 rounded-da-sm text-[15px] underline underline-offset-4">
            View all 240 ↗
          </a>
        </div>
        <ul className="mt-8 grid gap-x-6 gap-y-10 sm:auto-rows-[18rem] sm:grid-cols-3">
          {projects.map((p, i) => (
            <li key={p.project} className={cn("group flex flex-col", SPAN[p.size])}>
              <a href={`#p${i}`} className="da-focus flex flex-1 flex-col rounded-da-sm">
                <div
                  aria-hidden
                  className={cn(
                    "aspect-[4/3] min-h-0 transition-colors duration-(--da-duration) group-hover:bg-da-muted sm:aspect-auto sm:flex-1",
                    i % 2 ? "bg-da-muted/70" : "bg-da-surface-2",
                  )}
                />
                <p className="mt-3 flex justify-between gap-4 font-da-mono text-[11px] tracking-da-label uppercase">
                  <span className="group-hover:underline">
                    {p.studio} — {p.project}
                  </span>
                  <span className="text-da-muted-fg">{p.template}</span>
                </p>
              </a>
            </li>
          ))}
        </ul>
      </div>
    </section>
  );
}

export default FeaturesShowcase;

modules/mono-clean/section/features-showcase/index.tsx

Props

PropTypeDefaultDescription
labelstring—Label.
titlestring—Heading.
projects{ studio: string; project: string; template: string; size: "wide" | "tall" | "square" | "full" }[]—Projects.
classNamestring—Extra classes on the root.

Other features variants in Mono Clean

Features in other art directions

Features Grid

Six features in a single ruled box (1/2/3 columns) with numbered tiles, color-cycling icon blocks that press on hover, and a two-column section header.

BrutalistFeatures

Features Numbered

Full-width ruled rows with giant faded step numbers, uppercase titles, descriptions and a stat chip; each row floods with a different primary color on hover and the number turns solid.

BrutalistFeatures

Features Tabs

Tabbed feature explorer: ruled mono tab bar (ink active tab), then a big split panel with title, description and square-bullet list on the left and a stacked mock preview of the channel on the right.

BrutalistFeatures

Features Versus

Before/after comparison: two slightly tilted cards side by side — the old way in paper with red crosses, the new way in solid yellow with ink checks — row by row on the same topics.

BrutalistFeatures

Features Bento

Glass bento grid on 6 columns: a large AI-recap tile with a mock summary and owner chips, plus five smaller frosted tiles with gradient squircle icons.

GlassFeatures

Features Glass Grid

Centered header and six frosted feature cards with gradient squircle icons; cards lift with an overshoot and reveal a soft corner glow on hover.

GlassFeatures

Features Orbit

Integrations section: copy with a chip list on one side, and a central gradient orb with integration bubbles orbiting on two counter-rotating glass rings (bubbles stay upright). Pure CSS.

GlassFeatures

Features Tabs

Glass pill tab bar (Radix Tabs) with gradient active tab switching a large frosted panel: title, copy and bullets on the left, a layered glass preview on the right.

GlassFeatures

Features Alternating

Three zig-zag rows, each pairing a numbered kicker, title, copy and link with an HTML product mock-up (routing rules, on-call week, AI postmortem) on a soft tinted plate.

MinimalFeatures

Features Bento

Bento grid of five hairline tiles on a 6-column layout, each with a small token-themed HTML illustration (routing lines, uptime bars, MTTR metric, on-call week) above an icon, title and description.

MinimalFeatures

Features List

Dense four-column feature list: each item has a small indigo line icon, a title and a one-sentence description under a hairline top rule. Eight defaults, left-aligned header.

MinimalFeatures

Features Steps

Five-step workflow (detect, page, coordinate, resolve, learn) laid out horizontally on desktop and vertically on mobile, joined by a hairline, with numbered nodes and timing labels.

MinimalFeatures

Features Bento

Data-driven bento grid of bordered cards: cash-flow line chart, DSO metric, approval flow, currency list and integrations — each a small realistic mock.

Neo CorporateFeatures

Features Grid

Classic 3×2 bordered feature grid sharing hairline borders (one outer frame), each cell with a blue icon square, title, text and a “Learn more” link.

Neo CorporateFeatures

Features Tabs

Underline tabs (Radix Tabs) switching between product areas: copy + check points on the left, a bordered data card (status rows) on the right.

Neo CorporateFeatures

Features Versus

Before/after comparison: a muted “spreadsheets and email” column with red crosses next to a blue-bordered “with Ledgerly” column with green checks.

Neo CorporateFeatures

Features Alternating

Alternating zig-zag rows: copy with check points on one side, a soft blob-shaped tinted panel holding a small product vignette (suppliers, actions, report) on the other.

Organic SoftFeatures

Features Bento

Soft bento: rounded tinted tiles of mixed sizes — a monthly emissions bar chart, a human equivalence (“= 42 flights”), supplier avatars, a certifications tile and a leaf quote.

Organic SoftFeatures

Features Cards

Three tall rounded cards in sage, clay and paper tints; each has an icon sitting in an organic blob, a serif title and calm copy.

Organic SoftFeatures

Features Journey

Horizontal journey: numbered circles connected by a hand-drawn wavy dashed path (vertical list on mobile), each step with a serif title, text and a mono time estimate.

Organic SoftFeatures

Features Checklist

Interactive split section: copy and a mint progress bar on the left, a white card of four round-checkbox steps on the right that turn mint with a bouncy tick when clicked; celebration at 100%.

Soft FlatFeatures

Features Icons

Centered 4-column grid of eight small features, each with a large round pastel icon badge (colors rotate), rounded title and one-liner.

Soft FlatFeatures

Features Pastel

2×2 grid of large pastel feature cards (peach, mint, lavender, butter), each with icon, rounded title, copy and a tiny flat illustration (mini board, bar week, reminder toast, chat bubbles).

Soft FlatFeatures

Features Steps

Three numbered step cards in peach, lavender and mint joined by a dashed path on desktop, each with a white emoji medallion, mono step label, title and text.

Soft FlatFeatures