# Toast Stack — Stacked, Swipeable Toast Notifications for React Native & Expo

> A complete toast system for React Native: toast.success('Saved') from anywhere, a collapsed stack that fans open, promise toasts that morph from spinner to check, Undo actions, upload progress, swipe to dismiss and timers that pause while you read. Light and dark, touch and…

- Kind: Mobile component (Toasts & Alerts)
- Price: Free
- License: MIT License. Do anything with it, keeping the copyright notice.
- Developer: UpFork
- Tags: toast, react-native, expo, reanimated, notifications, snackbar, undo, alerts
- npm packages: expo-haptics, react-native-gesture-handler, react-native-reanimated, react-native-safe-area-context, react-native-svg, react-native-worklets
- Published: 2026-10-14
- Updated: 2026-10-14
- Page: https://upfork.dev/products/toast-stack-react-native

## How to get it

It's a React Native component for Expo apps (Expo SDK 57), not a shadcn item: copy its folders into the app's root from its ZIP (Download source on its page) or through UpFork's MCP server (install_product), then install its packages with Expo:

```bash
npx expo install expo-haptics react-native-gesture-handler react-native-reanimated react-native-safe-area-context react-native-svg react-native-worklets
```

It's free and in no plan: an AI assistant installs it through MCP with no account, and its ZIP downloads with a free UpFork account.

Step by step, with the App.tsx that shows it and Skia's web setup: https://upfork.dev/docs/mobile.

## About

Toast Stack is the toast system you'd build if you had a month: one `<Toaster />` at the root, and `toast(...)` from anywhere in your app. Replace the one you use today in five minutes.

- **Every kind.** Success, error, warning, info, loading, custom, and `toast.promise` that keeps one toast and turns its spinner into a drawn check (or a cross) when the promise settles.
- **A stack that feels like cards.** The newest in front, the others peeking behind it; tap or hover and it fans into a readable list, every toast travelling its own way, text never overlapping. Heights never jump.
- **Actions and updates.** Undo and cancel buttons, an upload's progress bar, `toast.update` and your own ids to change a toast in place ("You're offline" becomes "Back online").
- **Polite timers.** They pause while the stack is open, pressed, hovered or in the background, and go on with the time that was left; an optional hairline shows it.
- **Swipe to dismiss.** Towards the edge or sideways, with the speed you gave it; the next toast springs forward.
- **Everywhere.** Top or bottom, safe area and keyboard aware, room for a tab bar, light and dark with rich colours that keep their contrast, screen-reader announcements, reduced motion.

Three complete demos: an inbox with archive and Undo and a promise for sending, an upload screen with progress, retry and offline, and a playground of every call.
