Skip to main content

Transfer components

Components built for Senco's cross-border transfer flow. These extend the base component library for the fintech use case.

Components

ComponentPurpose
Status badgeDisplay transfer status (pending, sent, completed, failed)
Amount inputEnter transfer amount with live currency conversion
Transaction rowSingle entry in the transaction history list
Transfer stepperVertical multi-step progress for the transfer flow
Camera captureDocument/selfie capture viewfinder for KYC
QR scannerQR code scanner with scan-line animation
Receipt viewTransfer receipt with tear-line and status header
Contact cardTappable card showing contact avatar, name, country, and method

Status badge

Communicates the current state of a transfer. Uses color and a dot indicator — never color alone.

StatusColorUsage
PendingYellowTransfer submitted, awaiting processing
SentBlueTransfer sent, in transit
CompletedGreenTransfer received by recipient
FailedRedTransfer could not be completed
Status badge
PendingSentCompletedFailed

Amount input

Combines a large numeric input with a currency tag. Shows live conversion rate below.

  • Input accepts numbers only with auto-formatting
  • Currency tag is tappable to switch currencies
  • Conversion rate updates in real time
  • Supports both fiat and crypto amounts
Amount input
$

C$10 CAD — C$10,000 CAD

Transaction row

Displays a single transfer in the mobile transaction history. Shows recipient avatar, name, date, amount, currency, and status badge.

  • Rows are tappable to view transfer details
  • Amount is right-aligned for scannability
  • Status badge is always visible without scrolling
Transaction row
Yuki Tanaka flag
Yuki Tanaka
Mar 27 · Sent
-250.00 USD
Completed
James Wilson flag
James Wilson
Mar 27 · Sent
-120.00 USD
Completed
Priya Sharma flag
Priya Sharma
Mar 26 · Sent
-500.00 USD
Pending
Carlos Rivera flag
Carlos Rivera
Mar 25 · Received
+80.00 EUR
Failed

Transfer stepper

Vertical step indicator for the transfer flow. Shows completed, active, and upcoming steps with connecting lines.

  • Steps: Send → Review → Confirm
  • Completed steps show a check icon
  • Active step is highlighted with primary color
  • Upcoming steps are muted
Transfer stepper

Camera capture

Visual KYC viewfinder component with two variants: document (ID card frame with corner marks) and selfie (circular frame). Designed as a showcase pattern — no native camera API.

  • Document variant: rectangular frame with 856:540 aspect ratio (standard ID) and L-shaped corner marks
  • Selfie variant: circular frame (160px diameter) with round border
  • Shutter button: 64px double-circle pattern (outer ring + inner fill)
  • Captured state switches to "Use Photo" and "Retake" buttons
  • Self-contained dark UI — no dark mode override needed
Camera capture
Document
Position your ID within the frame
Selfie
Center your face in the circle

QR scanner

QR code scanner viewfinder with animated scan line. Shows scanning and success states. Includes optional manual entry link.

  • Square scan window: 65% parent width, max 280px
  • 4 L-shaped corner marks (28px)
  • Animated scan line moves top-to-bottom repeatedly
  • Success state: green check icon replaces scan line, corners turn green
  • Manual entry button with keyboard icon
  • Self-contained dark UI — no dark mode override needed
QR scanner
Scanning
Point your camera at a QR code
Success
QR code detected

Receipt view

Compound component displaying transfer receipts with status header, tear-line separator, key-value rows, and action footer.

Sub-components:

  • ReceiptView — root container with status header
  • ReceiptViewSection — grouped rows with optional title
  • ReceiptViewRow — label + value pair using dl/dt/dd semantics
  • ReceiptViewActions — footer with action buttons

Structure:

  • Header: status icon + title + subtitle (date)
  • Tear line: CSS radial-gradient scalloped edge
  • Body: key-value rows in sections
  • Footer: download/share buttons
Receipt view

From

Canada flag
Devon Kim
Canada
Visa
····8293

To

South Korea flag
Seo-yeon Park
South Korea
Bank transfer
····4521
SNC-2026-0847Completed
You sent$150.00 CAD
Service fee (%)−$2.25
Rate986.76 KRW
Seo-yeon received₩145,794.49

Contact card

Tappable card displaying a contact's avatar, name, country flag, payment method, and optional detail. Used in the recipient selection grid on the Send start screen.

Visual structure

  • Vertical flex layout, center-aligned
  • Avatar at top with initials fallback
  • Name, payment method with country flag, optional detail
  • Hover: background and shadow transition
Contact card
Japan flag
Yuki Tanaka
Japan
United Kingdom flag
James Wilson
United Kingdom
South Korea flag
Min-ji Kim
South Korea
China flag
Aisha Okafor
China

Design and accessibility

  • Status badges use color + dot + text — accessible to color-blind users
  • Amount input has visible label and aria-describedby for conversion rate
  • Transaction rows are keyboard-focusable with enter to view details
  • Touch targets are 48px minimum on all interactive elements
  • Camera capture shutter button has descriptive aria-label per variant
  • QR scanner scan-line animation respects prefers-reduced-motion: reduce
  • Receipt view uses semantic article root, dl/dt/dd for key-value pairs
  • Contact card uses <button> element for full keyboard accessibility