Choose Card

A selectable option card — a radio control paired with a title, description and trailing price. Used in plan pickers and choice lists. All values pulled directly from the LUSTER Figma variables.

Pro PlanAdvanced tools for growing professional teams. Free
Figma Properties
Title: "Pro Plan" (Inter 700 / 16px, #24242C)
Desc: #62626D (Inter 400 / 12px)
Price: "Free" (Inter 400 / 16px, #24242C)
Border: 2px #916DFF
Padding: 20px 28px · Gap: 16px

Tip: click the card to toggle selection.

Component · Choose Card

The selectable plan card — a Radio Button, a title + description text block, and a trailing price, inside a 2px purple border.

Pro PlanAdvanced tools for growing professional teams. Free
Selected
Pro PlanAdvanced tools for growing professional teams. Free
Unselected

Design Tokens

Token names mirror the LUSTER Figma variable paths one-to-one. Values shown are the Diamond brand, Light mode defaults (the Figma file's default mode). Other brands (Amber, Opal) and Dark mode resolve to different values via the Color Theme & Component Brand collections.

Token NameFigma VariableDefault Value
--chooseCardTitleColorchooseCard/title/color#24242C
--chooseCardDescColorchooseCard/desc/color#62626D
--chooseCardPriceColorchooseCard/price/color#24242C
--chooseCardBorderColorchooseCard/border/color#916DFF
--chooseCardBorderWidthchooseCard/border/width2px
--chooseCardGapchooseCard/gap16px
--chooseCardTextGapchooseCard/text/gap12px
--chooseCardPaddingXchooseCard/padding/x28px
--chooseCardPaddingYchooseCard/padding/y20px
--sectionBgColorsection/bg/color#FFFFFF
--sectionBorderRadiussection/border/radius0px
--radioButtonActiveBgColorradioButton/active/bg/color#916DFF
--radioButtonActiveBorderColorradioButton/active/border/color#916DFF
--radioButtonBorderWidthradioButton/border/width1px
--titleFontSizetypography/title/font/size16px
--titleFontLineHeighttypography/title/font/lineHeight19px
--titleFontWeighttypography/title/font/weight700
--caption1FontSizetypography/caption-1/font/size12px
--caption1FontLineHeighttypography/caption-1/font/lineHeight14px
--caption1FontWeighttypography/caption-1/font/weight400
--bodyFontSizetypography/body/font/size16px
--bodyFontLineHeighttypography/body/font/lineHeight19px
--bodyFontWeighttypography/body/font/weight400
--bodyFontFamilybody/font/familyInter

Usage Guidelines

✓ DO

Group Choose Cards in a radio group so only one can be selected.

✓ DO

Keep the description to one short, benefit-led sentence.

✗ DON'T

Don't omit the price/value — it's the key decision driver.

✗ DON'T

Don't allow multiple selections — use checkboxes for that.

Implementation

Values shown are the Diamond brand, Light mode defaults (the Figma file's default mode). Other brands (Amber, Opal) and Dark mode resolve to different values via the Color Theme & Component Brand collections.

import './ChooseCard.css';

export interface ChooseCardProps {
  title: string; description: string; price: string;
  selected: boolean; onSelect: () => void;
}

export const ChooseCard = ({ title, description, price, selected, onSelect }: ChooseCardProps) => (
  <label className={`choose-card ${selected ? '' : 'unselected'}`} onClick={onSelect}>
    <span className="cc-radio"><span className="dot" /></span>
    <span className="cc-text">
      <span className="cc-title">{title}</span>
      <span className="cc-desc">{description}</span>
    </span>
    <span className="cc-price">{price}</span>
  </label>
);