# XWUIPaymentMethodManager

Manage saved payment methods: a selectable list of saved cards (radio-select, brand + last 4 + expiry, a "Default" badge, "Set default" and "Remove" actions per card), and an "Add card" toggle that reveals a minimal inline form. No real card numbers ever pass through data - only brand/last4/expiry, matching how a real integration would only ever receive an already-tokenized card back from its payment processor.

## Events

| Event | Callback | Subscriber | `detail` |
|---|---|---|---|
| `xwui-payment-method-manager:select` | `onSelect` | `onSelect(handler)` | `{ methodId }` |
| `xwui-payment-method-manager:set-default` | `onSetDefault` | `onSetDefault(handler)` | `{ methodId }` |
| `xwui-payment-method-manager:remove` | `onRemove` | `onRemove(handler)` | `{ methodId }` |
| `xwui-payment-method-manager:add` | `onAdd` | `onAdd(handler)` | The new `XWUINewPaymentMethod` |

## Usage

```ts
import { XWUIPaymentMethodManager } from '@exonware/xwui/industry';

const manager = new XWUIPaymentMethodManager(host, {
  methods: [{ id: 'm1', brand: 'Visa', last4: '4242', expMonth: 8, expYear: 2028, isDefault: true }],
});

manager.onAdd((method) => api.saveCard(method));
```

```api
```
