Audited: 2026-06-26
card-button is a distinct new scaffold component — a content card with an embedded CTA button. It is not a rename or variant of card-btn (the navigation tile absorbed by Button in D3). The two are structurally different: card-btn is a compact icon-tile navigation button (116×106 px); card-button is a full-width content card with multi-line body text and an embedded action button. Four feature areas each get their own domain control factory that composes this scaffold.
BorderRadius/L — 12 px (D38)Two Figma variants defined on node 4104:5451 (Property 1: Default / Variant2; original dated-snapshot id 5452:434). Default uses a filled primary CTA button; Variant2 uses an outlined secondary CTA style.
get_screenshot of node 4104:5451 shows the two variants differing by icon position (top-centered vs. left-horizontal), not by CTA button style — neither variant's example content ("Accident Hotline") shows a distinct filled/outlined CTA button element. The primary/secondary CTA description above may describe other instances (Jump Seat, Committees, PAC, My MEC) not independently re-verified in this pass. Treat the CTA-button-style claim as unconfirmed for this specific node until design re-checks it.
| Variant | Figma property | CTA style | Example instance |
|---|---|---|---|
| Default | Property 1 = Default | Filled, high contrast (navy / MEC brand) | My MEC, Committees, PAC/Take Action |
| Variant2 | Property 1 = Variant2 | Outlined / tinted (blue / MEC accent) | Jump Seat, secondary actions |
CallToAction : ButtonViewModel is a nested scaffold object — ButtonCardViewModel holds a ButtonViewModel as a property; it does not multiply-inherit from ButtonViewModel. Domain controls set all three fields (Header, ContentText, CallToAction) via their factory, keeping the scaffold domain-free.
Four feature areas use this scaffold. Each will have its own RawRepresentationFactory<ButtonCardViewModel>. Domain control specs are pending.
| Domain control | Screen / section | Figma header | CTA variant | Status |
|---|---|---|---|---|
| MEC CTA Card | MEC screen 4684:7914 |
My MEC | Default | Pending spec |
| Jump Seat CTA Card | Jump Seat / JSFF screen | Jump Seat | Variant2 | Pending spec |
| Committees CTA Card | Committees screen | Committees | TBD | Pending spec |
| PAC Action Card | PAC / Take Action screen | PAC / Take Action | TBD | Pending spec |
From binary canvas scan of ALPAmobileWtablet_20260617 (2026-06-16). Property 1 = Default shown; Variant2 mirrors with secondary CTA styling.
Exact layer names TBD — binary string extraction confirmed structural pattern; full Figma API read needed for precise layer names.
HeightRequest = fixed value per variant; content width = 353 px.card-button appears in i-phone context in Figma; no tablet variant identified in the 2026-06-17 revision.Accents/Blue and Surface/Brand tokens — MEC-overridable at runtime. XAML path: DynamicResource; Razor path: CSS variable swap. See Design Tokens → MEC Theming.ButtonCardViewModel carries no domain references. Each instance domain control maps its own data via a pure factory.CallToAction.Style (Primary/Secondary) maps to a ButtonStyle enum in XAML; the Razor path resolves it via a CSS class swap.