diff --git a/src/state.ts b/src/state.ts index b925eca..e710e0a 100644 --- a/src/state.ts +++ b/src/state.ts @@ -119,7 +119,9 @@ class Observer { }; loading = (message: titleT | React.ReactNode, data?: ExternalToast) => { - return this.create({ ...data, type: 'loading', message }); + /** iconAnimationPromise is a no-op used to set data-promise. It triggers icon fade-in on state change. **/ + const iconAnimationPromise = Promise.resolve(); + return this.create({ ...data, type: 'loading', message, promise: iconAnimationPromise }); }; promise = (promise: PromiseT, data?: PromiseData) => { diff --git a/test/src/app/page.tsx b/test/src/app/page.tsx index ef50965..3a9fd46 100644 --- a/test/src/app/page.tsx +++ b/test/src/app/page.tsx @@ -76,6 +76,30 @@ export default function Home({ searchParams }: any) { > Render Promise Toast + +