Island toastsfor React
One pill that spring-morphs between states and swipes away. Zero dependencies, fully typed.
Get started
$ npm install dynauraPress one. The island opens at the top of the page.
One core. Four adapters.
Every adapter drives the same island. Pick your framework, change one import.
Everything a toast should be.
One island, real motion
A single pill morphs between compact and expanded with a CSS spring. No animation library.
dynaura.success({
title: "Saved",
description: "Your changes are live.",
});One Toaster. Call it anywhere.
Three moves and every dynaura call works, from any file, with no provider and no hook.
- Mount onceOne Toaster per page, in your root layout.
<Toaster /> - Import the stylesheetOnce, at the root.
import "dynaura/styles.css" - Call from anywhereState is a global, so there is no provider or hook.
dynaura.success("Saved")
import { Toaster, dynaura } from "dynaura";
import "dynaura/styles.css";
export default function App() {
return (
<>
<Toaster />
<button onClick={() => dynaura.success({ title: "Saved", description: "Your changes are live." })}>
Save
</button>
</>
);
}Read the docs.
Guides for every feature, a full API reference, and a playground to try each option.