Refine ProviderCard v2 — logo, price, badges, footer, unverified treatment

- Logo: circle → 64px rounded rectangle (8px radius), positioned fully
  inside image area with white border + shadow
- Footer removed — redundant since whole card is clickable and price
  is already in content area
- Price: split "Packages from" (body2) + price (h6/500wt) for lighter
  ecommerce feel, replaces blocky labelLg/700
- Verified badge bumped to medium size for visibility
- Capability badge: medium size, trailing info icon + capabilityDescription
  tooltip prop for plain-language definitions on hover
- Unverified cards: 3px top accent bar, list on neutral.50 background
- Caption/CaptionSm weight: 400 → 500 system-wide (extends D019)
- Meta row: body2 → caption size for clearer tertiary hierarchy

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 18:28:28 +11:00
parent 811736dbb9
commit 891ded2fdb
9 changed files with 160 additions and 101 deletions

View File

@@ -73,10 +73,8 @@ export const InputBorderRadiusDefault = "4px"; // 4px — subtle rounding, consi
export const InputGapDefault = "8px"; // 8px — vertical rhythm between label/input/helper, slightly more generous than Figma's 6px for readability
export const InputIconSizeDefault = "20px"; // 20px — icon size inside input field, matches Figma trailing icon
export const ProviderCardImageHeight = "180px"; // Fixed image height for consistent card sizing in list layouts
export const ProviderCardLogoSize = "56px"; // Logo circle diameter — positioned bottom-left of image, overlapping content area
export const ProviderCardFooterBackground = "#f7ecdf"; // Warm beige footer — brand.100 provides subtle brand warmth
export const ProviderCardFooterPaddingX = "16px"; // 16px horizontal padding — matches compact card padding
export const ProviderCardFooterPaddingY = "8px"; // 8px vertical padding — compact footer bar
export const ProviderCardLogoSize = "64px"; // Logo width/height — rounded rectangle, overlapping image bottom into content row
export const ProviderCardLogoBorderRadius = "8px"; // 8px rounded rectangle — softer than circle, matches card border radius
export const ProviderCardContentPadding = "12px"; // 12px content padding — tight to keep card compact in listing layout
export const ProviderCardContentGap = "4px"; // 4px vertical gap between content rows — tight for compact listing cards
export const RadioSizeDefault = "20px"; // Default radio size — matches Figma 16px + padding for 44px touch target area
@@ -403,13 +401,13 @@ export const TypographyLabelSmLetterSpacing = "0.2px";
export const TypographyCaptionFontFamily =
"'Montserrat', 'Helvetica Neue', Arial, sans-serif";
export const TypographyCaptionFontSize = "0.75rem"; // 12px
export const TypographyCaptionFontWeight = 400;
export const TypographyCaptionFontWeight = 500;
export const TypographyCaptionLineHeight = 1.417;
export const TypographyCaptionLetterSpacing = "0.2px";
export const TypographyCaptionSmFontFamily =
"'Montserrat', 'Helvetica Neue', Arial, sans-serif";
export const TypographyCaptionSmFontSize = "0.6875rem"; // 11px — accessibility floor
export const TypographyCaptionSmFontWeight = 400;
export const TypographyCaptionSmFontWeight = 500;
export const TypographyCaptionSmLineHeight = 1.364;
export const TypographyCaptionSmLetterSpacing = "0.2px";
export const TypographyOverlineFontFamily =