PR card
The PR card displays a personal record achieved by the user at the end of a workout. Each card surfaces the exercise name, the new record value, and when a previous record exists, the former best as a struck through reference. Cards are purely informational and not interactive. Two types exist depending on the nature of the record: Max weight (a raw weight lifted) and Performance score (a value derived from the one rep max calculation).

When to use
Use the PR card on the workout finishing screen to celebrate and communicate a new personal record.
Don't use the PR card to display general exercise stats or historical data. Use a dedicated history or stats component instead.
Types
Performance score
Displays a record based on the one rep max calculation. The badge is neutral (broz-bg/neutral/light/default) with a secondary text label. No unit is shown next to the value.
Max weight
Displays a raw weight record. The badge is brand coloured (broz-bg/interactive/middle/default) with a primary interactive text label. A unit (e.g. "kg") is displayed next to the value.
Type | Prop | Badge background | Badge border | Badge text colour | Unit shown |
|---|---|---|---|---|---|
Max weight |
|
|
|
| Yes |
Performance score |
|
|
|
| No |
Props
Prop | Values | Default | Description |
|---|---|---|---|
|
|
| Switches between the Max weight and Performance score types. |
Structure
The PR card is a fixed width (150px) rounded card (responsive/layout/radius/2xl) containing:
Badge — a pill label at the top identifying the PR type ("Max Weight" or "Performance score"). Pill uses
responsive/layout/radius/rounded.Exercise name — the name of the exercise in
text/content/caption/strong, colouredbroz-content/interactive/primary.Value row — the record value in
text/heading/sm(broz-content/neutral/primary), followed by an optional unit intext/content/note/emphasis(broz-content/neutral/tertiary), and the previous record reference when applicable.Previous record — displayed as "was : [value][unit]" with the old value struck through, in
text/content/caption/emphasis(broz-content/neutral/tertiary). Only shown when a previous record exists.
Interaction
The PR card is non interactive and display only. It does not respond to taps or trigger any navigation.
Placement
PR cards appear on the workout finishing screen in a horizontal scroll row. They are always shown as a result of the current workout session and should not appear in history or mid workout contexts.
Accessibility
The card should carry a descriptive accessible label combining type, exercise, and value. For example: "New personal record: Bench press, Max Weight, 85 kg. Previous best was 82 kg."
The struck through previous value must not be announced as deleted text. Use an explicit accessible label or
aria-labelon the previous record element to convey its meaning ("previous best").The card must not be focusable or included in the interactive tab order since it is display only.
Content
Badge labels are fixed strings tied to the PR type. Exercise names and values are always user generated and should not be truncated. Ensure the card layout handles long exercise names gracefully.
Previous record line
Do: "was : 82kg" (concise, inline)
Don't: "Your previous best was 82 kg" (too long for the card width)
Tokens
Element | Token |
|---|---|
Card background |
|
Card border |
|
Card corner radius |
|
Card shadow |
|
Badge corner radius |
|
Max weight badge background |
|
Max weight badge border |
|
Max weight badge text |
|
Performance score badge background |
|
Performance score badge border |
|
Performance score badge text |
|
Exercise name |
|
Record value |
|
Unit |
|
Previous record |
|
