> ## Documentation Index
> Fetch the complete documentation index at: https://bkey.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Feedback & status

> BMoniToast, BMoniToastOverlay, EmptyState, FailureWidget, InProgressWidget, and loaders.

## BMoniToastOverlay

Show contextual success, error, warning, or info toasts without managing state yourself.

```dart theme={null}
// Success
BMoniToastOverlay.showSuccess(
  context: context,
  message: 'Payment sent!',
  title: 'Success',
);

// Error
BMoniToastOverlay.showError(
  context: context,
  message: 'Something went wrong. Please try again.',
);

// Warning
BMoniToastOverlay.showWarning(
  context: context,
  message: 'Your session is about to expire.',
);

// Info
BMoniToastOverlay.showInfo(
  context: context,
  message: 'A new version is available.',
  title: 'Update ready',
);
```

All variants accept:

| Param      | Type           | Default | Description                             |
| ---------- | -------------- | ------- | --------------------------------------- |
| `context`  | `BuildContext` | —       | The context used to insert the overlay. |
| `message`  | `String`       | —       | Main toast body.                        |
| `title`    | `String?`      | `null`  | Optional bold title line.               |
| `duration` | `Duration`     | `3s`    | How long the toast is shown.            |

***

## EmptyState

A centred empty-state illustration with a message, subtitle, and an optional primary action button.

```dart theme={null}
EmptyState(
  svgAsset: 'assets/svgs/empty_box.svg',
  message: 'No transactions yet',
  subtitle: 'Send or receive funds to get started',
  buttonText: 'Add money',
  onButtonPressed: () { /* navigate to add money flow */ },
)
```

| Prop              | Type            | Description                                            |
| ----------------- | --------------- | ------------------------------------------------------ |
| `svgAsset`        | `String`        | Asset path to an SVG illustration.                     |
| `message`         | `String`        | Primary heading.                                       |
| `subtitle`        | `String?`       | Supporting text below the heading.                     |
| `buttonText`      | `String?`       | CTA label. When set, a `BMoniButton.primary` is shown. |
| `onButtonPressed` | `VoidCallback?` | CTA action.                                            |

***

## FailureWidget

A standard error state with a retry button.

```dart theme={null}
FailureWidget(
  message: 'Could not load wallets.',
  onRetry: () => ref.invalidate(walletsProvider),
)
```

***

## InProgressWidget

A full-screen (or inline) loading indicator for long-running operations.

```dart theme={null}
const InProgressWidget(message: 'Processing your payment...')
```

***

## Loaders

Two lightweight loading indicators for use inside cards and list items.

```dart theme={null}
// Branded square progress container
const ProgressLoaderWidget()

// Three small white dots animating sequentially
const ChasingDots()
```
