# Currency Transfer

A money transfer and its steps: recipient, amount, and a timeline that ticks in sequence.

Tier: Free

## Installation

```bash
npx shadcn add @fetaui/currency-transfer
```

## Usage

```tsx
import { CurrencyTransfer } from '@/components/fetaui/currency-transfer'

const steps = [
  { title: 'Payment received', meta: 'From Tidewell ••4589' },
  { title: 'Converted to EUR', meta: '1 USD = 0.9200 EUR' },
  { title: 'Arriving', meta: 'Usually within a minute', doneTitle: 'Arrived', failedTitle: 'Couldn’t complete' },
]

export function Example() {
  return (
    <CurrencyTransfer
      recipient={{ name: 'Lena Fischer', account: 'Aldermere Bank ••7823', person: 'lena' }}
      amount="€460.00"
      summary="500.00 USD sent · 460.00 EUR received"
      reference="TXN-DAB3UL494"
      steps={steps}
      status="processing"
    />
  )
}
```

## API

| Prop | Type | Default |
|---|---|---|
| recipient | { name, account, person, src } | required |
| amount | string | required |
| summary | string | required |
| status | processing, completed, failed | processing |
| steps | TransferStep[] | required |
| done | number | all but the last |
| reference | string | required |
| note | string |  |
| onCopy | (reference) => void |  |
| onReceipt | () => void |  |
| onRetry | () => void |  |
| animated | boolean | true |

## When to use

- For a payment that moves through steps people want to watch.
- On a transfer detail page or right after someone sends money.

## When not to use

- For a finished payment with nothing left to track: use a receipt.
- For a generic progress list: use Stepper in Card Pattern.

## Accessibility

- The timeline is an ordered list, and each step says its state in text.
- The status Badge is a polite live region.
- Failure has a label and a mark, never colour alone.

## Motion

- A finished step pops its tick and the line fills down in 300 ms.
- A failure pops the danger mark and fades the amount to 40% in 240 ms.
- The spinner on the active step stops when motion is off.
- With reduced motion, marks swap in place.
