Update dependency react-toastify to v10 #16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^8.1.0
->^10.0.0
Release Notes
fkhadra/react-toastify (react-toastify)
v10.0.6
Compare Source
v10.0.5
Compare Source
v10.0.4
Compare Source
v10.0.3
Compare Source
v10.0.2
Compare Source
v10.0.1
Compare Source
v10.0.0
Compare Source
What is new in v10
The code for this release has been sitting on my computer for almost a year but with so many things going on it was hard for me to release it but it's finally there! A good chunk of the code has been rewritten, a bunch of bugs have been fixed. I've also addressed the oldest open feature request (Jan 10, 2020) 😆.
Features
Play or pause the timer programmatically
By default, when the notification is hovered or the window loses focus, the timer for dismissing the notification is paused. There are many other situations where you might want to pause the timer as well. For instance, consider wanting to toggle the notification timer based on the document's visibility. This wasn't possible to do previously, but with the new API, it's a breeze.
More usages:
Remove notification from a given container
This feature was the oldest one in the backlog (Jan 10, 2020). I don't know if the user who requested this feature is still using the library but I bet thanks to her/him, a bunch of user will be happy.
The method is backward compatible.
toast.dismis()
andtoast.dismiss("123")
work as usual.Check if a notification is active for a given container
You can limit the call to
toast.isActive
to a specific container.Better typescript inference when using data
When providing data to the notification, the content of data is correctly infered by typescript.
IconProps now receives isLoading
When providing your own logic to display the icon, you now have access to the
isLoading
field.Stacked Notifications
The initial release for this feature was planned right after the release of the v9. The code was their but things happen in life and I wasn't able to focus on the project that much.
That being said, I'm glad to finally release it.
To enable it, add the
stacked
prop to theToastContainer
. I also suggest to disable the progress bar :).Progress bar background trail
The progress bar leaves a background trail by default.
The opacity of the trail can be customized by overriding the css variable
--toastify-color-progress-bgo
.Breaking Changes
React 18 is the minimum required version, but...
The minimun version of react required is now
18
. This version has been released for more than a year. Nextjs, react-query already did this move as well, so I believe it's a good time for the library as well.That being said, I know that not all code base have the chance to be running on the latest version of react, so I'm considering to have a package for
v17
if the demand is high enough.The enableMultiContainer prop has been removed
The
enableMultiContainer
props is not needed anymore and has been removed. As long as your container has anid
assigned then you are good to go.The toast.position and toast.type constants have been removed
The
toast.POSITION
andtoast.TYPE
constants have been removed. Typescript came a long way since the initial release of the library. The ecosystem has matured to a point where such constants are not needed anymore.Change for some defaults
The
closeOnClick
prop is nowfalse
by default instead oftrue
. When using the library I keep on turning this feature off which make me realize that it was not a good default in the first place. To turn it on do as followThe
draggable
prop is set totouch
by default instead oftrue
. Which means that, by default, notifications are only draggable on touch devices (most likely mobiles and tablets). While swipping a notification on mobile feels natural, dragging on desktop is not. If you want your notification to be draggable regardless of the device type just set draggable totrue
.Bug Fixes and Chore
v9.1.3
Compare Source
Release note
Toast is undefined || Uncaught TypeError: Cannot read properties of undefined (reading 'content')
#858 #952v9.1.2
Compare Source
Release notes
Mainly bug fixes as I'm working on the next major release.
🕷Bugfixes
v9.1.1
Compare Source
v9.1.0
Compare Source
Release notes
🚀 Features
toast.promise
let you typedata
for each state. This is useful when rendering something based on the response.For example:
toast.update
accepts a generic as well to specify the data type🕷 Bugfixes
toast.done
not dismissing toast #853🚨 Deprecated API
Added deprecation notice for the API below. They will be removed in the next major release
onClick
toast(<div onClick={doSomething}>hello</div>)
onOpen
useEffect
behavior in react18 (runs twice in dev mode) see #741toast.onChange
see https://fkhadra.github.io/react-toastify/listen-for-changes/onClose
useEffect
behavior in react18 (runs twice in dev mode) see #741toast.onChange
see https://fkhadra.github.io/react-toastify/listen-for-changes/toast.POSITION
toast.TYPE
⚙️ Chore
v9.0.8
Compare Source
Release notes
🐞Bugfixes
Chore
v9.0.7
Compare Source
Release note
Bugfix
Chore
v9.0.6
Compare Source
Release note
Bugfix
useNotificationCenter
typing #796v9.0.5
Compare Source
Release note
🕷 Bugfix
v9.0.4
Compare Source
Release note
This release does not work with CRA v4(2 years old) due to the lack of support for es modules. I strongly advise to upgrade to lastest CRA if possible.
Alternative solution:
Bugfix
v9.0.3
Compare Source
Release notes
🕷 Bugfix
toast.update
#770v9.0.2
Compare Source
Release notes
Thanks to @Rambatino, @grit96, @Vl3oss, @eolme for this release
🕷 Bug fixes
v9.0.1
Compare Source
v9.0.0
Compare Source
Release note
🚀 What is new in v9
Say hello to addons! What are addons? So, addons are like DLCs in video games but for react-toastify 😆. More seriously, you can think of it as utilities built around react-toastify. For example, custom theme, hooks, components etc...
useNotificationCenter
The first addon that I would like to introduce is the
useNotificationCenter
headless hook! As the name suggests, it let you build your notification center on top of react-toastify. See for yourself 👇Screen.Recording.2022-05-03.at.21.24.02.mov
Another example using MUI.
Check the documentation for more details.
Stacked toasts
This second addon will be released later. There are a bunch of details that I need to cover and I don't want to release something too buggy. Nevertheless, I'm really excited about it and I think it's worth showcasing anyway.
I call it
StackedContainer
for now, it's an alternative to theToastContainer
component.💥 Breaking changes
There are 2 breaking changes. The API change for
toast.onChange
and the removal oftoast.configure
.toast.onChange
The previous API was returning the
numberOfToastDisplayed
and thecontainerId
. Honestly, this API seems to be incomplete.For example, with the old API, if I wanted to do some logging this would be very difficult because I don't have enough data to log.
The new API offers more possibilities. The callback will receive a
ToastItem
. The item provides a bunch of useful propertiesstatus
,content
,id
,data
, etc...For example, if I want to log something every time there is a new error notification, with the new API it's trivial
toast.configure
removaltoast.configure
works fine for most cases but the current implementation has one main issue. It does not work with react context because it creates a new react tree.That being said, having 2 APIs to do the same thing is a bad thing.
🕷 Bug fixes
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.