R. Sanders
Eureka College ’28
- Position
- RB
- Games started
- 5
- Games played
- 10
UpNext / Athlete Card
<AthleteCard />StableA clean athlete identity composite with two product-specific structures: standard for availability and navigation, and board for evaluation, ownership, score, and recruiting metrics. An icon-only signal row leads the board card — the toned evaluation glyph and the avatar-only ownership chip bookend the top edge, with status text and names in tooltips + aria — identity follows, and supporting metrics read as a single value-forward inline stat line so cards stay calm when tiled in a grid or list. Built entirely from existing UpNext primitives and semantic tokens.
Standard exposes live availability (a pulsing dot when available), verification, avatar behavior, and the trailing affordance. Board crosses evaluation state with five semantic signals, plus assignment, verification, and avatar resilience — and the board card is live: its state glyph and assignee chip open their status and assign menus, writing back to the axes.
The lighter navigational summary keeps availability (a live pulsing dot), verification, avatar fallback, and chevron affordance as separate options.
Status
Athlete avatar
Chevron
Verification
R. Sanders
Eureka College ’28
<AthleteCardvariant="standard"athleteName="R. Sanders"subtitle="Eureka College ’28"schoolFallback="EC"position="RB"gamesStarted={5}gamesPlayed={10}imageSrc="https://i.pravatar.cc/160?img=12"showChevron/>
Cross evaluation state, the five Figma signals, assignment, verification, and avatar resilience independently — or use the card itself: the state glyph and the assignee chip open their menus and write back to these axes.
Evaluation
Signal
Assignment
Verification
Athlete avatar
Marcus Bradley
7/10University of Florida
<AthleteCardvariant="board"athleteName="Marcus Bradley"school="University of Florida"schoolFallback="UF"classYear="2025"gamesStarted={20}gamesPlayed={25}height="6′3″"weight="212 lbs"imageSrc="https://i.pravatar.cc/160?img=12"verifiedevaluationScore={7}evaluationScoreMax={10}assigneeName="Jordan Lee"assigneeImageSrc="https://i.pravatar.cc/80?img=32"/>
Edit one prop at a time and see the token chain resolve. The preview re-renders, the code panel updates, and the resolves-to column shows every Tailwind class → CSS variable → final value.
Preview
Marcus Bradley
University of Florida · 2025
Code
import { AthleteCard } from "@/components/upnext";<AthleteCardvariant="standard"athleteName="Marcus Bradley"subtitle="University of Florida · 2025"schoolFallback="UF"position="RB"gamesStarted={20}gamesPlayed={25}imageSrc="https://i.pravatar.cc/160?img=12"verifiedshowChevron/>
Use standard inside team or profile navigation and board inside evaluation workflows. Every card answers hover with a soft neutral fill — depth never changes — while linked cards add press scale and a visible focus ring. The five board signals cross evaluated and needs-evaluation for all ten reference combinations; evaluation state never relies on color alone (the glyph shape flips between check-circle and pending clock) and the full status text stays explicit to assistive technology through the tooltip + aria-label.
<AthleteCardvariant="standard"athleteName="R. Sanders"subtitle="Eureka College ’28"schoolFallback="EC"position="RB"gamesStarted={5}gamesPlayed={10}imageSrc="https://i.pravatar.cc/160?img=11"verifiedhref="/athletes/r-sanders"/>
The parent owns list or grid layout. Add href only when the whole card has one destination; the signal row's quick actions (evaluationOptions + onEvaluationChange, assignableMembers + onAssign) need a card without href — a button can't nest inside a link — and fall back to the static display otherwise. Assignment identifies workflow ownership, while evaluation tone communicates the product-defined signal rather than athlete availability.
<AthleteCardathleteName="R. Sanders"subtitle="Eureka College ’28"position="RB"gamesStarted={5}gamesPlayed={10}href="/athletes/r-sanders"/>
The composite uses the public Avatar, Badge, Icon, Separator, and Tooltip primitives with semantic card, border, text, ring, radius, depth, and status tokens. The prop metadata documents applicability, defaults, controls, generated JSX, and each token resolution; no Figma font, raw color, or one-off visual value is copied into the implementation.