Skip to content

Team

Team Profile

One person: a tall portrait, name, address, bio and a list of ways to reach them.

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

Installation

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

Usage

import { TeamProfile } from "@/components/team-profile";

<TeamProfile
  as="h1"
  name="Steve Parker"
  portrait={{ src: "/team/steve.jpg", alt: "Steve Parker" }}
  contacts={[
    { label: "Mobile phone", value: "+1 917 555 0187", href: "tel:+19175550187" },
    { label: "Email", value: "steve@example.com", href: "mailto:steve@example.com" },
  ]}
/>

Props

PropTypeDefaultDescription
as"h1" | "h2""h2"Heading level of the name — h1 when the block opens the page.
name / address / biostring—The person, a muted line under the name, and a paragraph.
portrait{ src, alt }—Tall photo, 320 × 457; alt is usually the name.
contactTitlestringContact meHeading of the contact list (h3).
contacts{ label, value, href }[]—Rows of a description list; http(s) links (WhatsApp) open in a new tab.
classNamestring—Classes for the <section>.
  • Stacked below 768px; from 768px the portrait sits beside a column of details and contacts; from 1024px details and contacts share a row, aligned to the bottom.
  • No motion besides the links' underline.

AI prompt

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

Create a React + Tailwind CSS block called TeamProfile.
- <section className="py-(--section-y)">, container mx-auto max-w-(--container) px-(--gutter): stacked (gap-12); from 768px a row (gap-8), from
  1024px items-end (gap-12).
- A 320 × 457 portrait (rounded-xl, object-cover). Beside it a column that becomes a row from 1024px (items-end, gap-24): the name (h2 or h1,
  font-heading text-h2 semibold) over a muted address, then the bio; and, up to 325px, an h3 "Contact me" (font-heading text-lg) over a <dl>
  with a border-t and rows (flex justify-between, border-b, py-1.5, text-sm): the label, and the value as a muted link (tel:, mailto:, or
  https://wa.me/… in a new tab) that underlines on hover.
- Only shadcn variables and block tokens; plain <img> with alt text.

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