Import
import { Notification } from '@contentful/f36-components';// orimport { Notification } from '@contentful/f36-notification';
Examples
Basic
Intent
The Notification
component can be configured in a number of different ways. Here is a guide to when to use certain variations.
Placement
With title
Sticky notification
If you want to disabled auto-closing behavior, you can pass 0
as duration of the notification.
Using unique id
If you want to make sure that the same notification appears only once at any given time, you can specify a custom notification id.
Using call to action
You call append an additional call to action to all notificataion by using cta
property.
The common use case is undo
button.
Props (API reference)
Open in StorybookAll main intent functions (success
, error
, and warning
) have the following type declaration:
type NotificationAction = (text: string,settings?: {// you can specify a custom notification duration// tip: use 0 to make your notification stickyduration?: number;// whether notification has close button or notwithClose?: boolean;// custom id, by default the unique id is generated automatically// by specifying custom id, you can make sure// that the specific notification is present only once at any given momentid?: string;// Additional header title of the notificationtitle?: string;// Call to action properties// For example, your notification can have `Undo` buttoncta?: Partial<{label: string;textLinkProps: Partial<TextLinkProps>;}>;},) => Notification;
By default, the notification closes after 6s, but when the user hovers (mouse overs) the notification it will stop the countdown timer and the toast will stay alive as long as the toast is being hovered.
// closing one notificationconst notification = await Notification.success('hello');Notification.close(notification.id);// In some situations toasts might become outdated before they expire.// In those situations you can use `Notification.closeAll()` to close all open toasts.Notification.closeAll();// change placement for all notifications// (default is bottom and offset is 20)Notification.setPlacement('top', { offset: 100 });Notification.setPlacement('bottom', { offset: 0 });// change duration of expiration change placement for all notifications// (default is 6000ms)Notification.setDuration(1000); // 1 secondNotification.setDuration(100000); // 100 seconds
Content guidelines
- Don't confuse
Notification
withNote
, which persist in the UI and do not dismiss - Use clear and succinct copy, since the notification will only be available for 6 seconds
- Use active voice, present tense, and consider tone of voice depending on the circumstance
- Use sentence style caps (in which only the first word of a sentence or term is capitalized)