Skip to content
Direction:
On this page

Message

User-facing message with icon.

Message styles and icon will vary depending on the message type (notice, warning, error or success). Messages are block style by default, but can be displayed as inline messages via the inline prop.

Block-style messages can be made dismissable in the following ways:

  • By using the dismissButtonLabel prop, which adds a dismiss button
  • By using the autoDismiss prop. This can be set to true to use the default display time of 4000 milliseconds (4 seconds), or the display time can be customized by setting autoDismiss to a number of milliseconds.

Demos

Configurable

Message text
NameValue
Props
type
inline
dismissButtonLabel
Slots
default

Fade in

When a message is dynamically added to the UI, use the fadeIn prop to enable a transition.

Dismiss button

Messages can be made dismissable by supplying a semantic label for the dismiss button via the dismissButtonLabel prop. This label will be visually hidden but accessible to screen readers.

When the dismiss button is clicked, the Message component hides itself, and a 'user-dismissed' event is emitted to the parent component in case the parent component needs to react to the message dismissal in some way.

Note that inline messages cannot be dismissable.

Notice message with dismiss button

Auto-dismiss

The autoDismiss prop can be used to automatically remove the message after a period of time. Set this prop to true to use the default display time of 4000 milliseconds (4 seconds). To customize the display time, set the autoDismiss prop to a number of milliseconds.

This feature should only be used for very short messages to ensure that can be read and understand before disappearing. When in doubt, do not use auto-dismiss.

Auto-dismiss can be used with or without the manual dismiss button.

Multiline message

Message content can contain markup like bold text and links.

With custom icon

Only notice messages may have a custom icon.

Notice message with custom icon

Usage

Props

Prop nameDescriptionTypeValuesDefault
typeMessage type.MessageType'notice', 'warning', 'error', 'success''notice'
inlineWhether this message follows the inline design (no padding, background color, or border).boolean-false
iconCustom message icon. Only allowed for notice messages.Icon-null
fadeInWhether the message should fade in. Should be used for messages that are dynamically displayed, not present on page load.boolean-false
dismissButtonLabelLabel text for the dismiss button for user-dismissable messages.

An icon-only button will be displayed that will hide the message on click. This prop is for the hidden button label required for screen reader accessibility and tooltip text.
string-''
autoDismissEnable automatic dismissal of message after a period of time.

This prop can be set to true to use the default display time of 4000 milliseconds. To customize the display time, set this prop to a number of milliseconds.

TODO: consider adding a stricter validator to set limits on this. If the time is too short, the message may not be readable. If the time is too long, the message probably shouldn't be auto-dismissed.
boolean|number-false

Events

Event namePropertiesDescription
user-dismissedEmitted when the message is dismissed by the user via the dismiss button.
auto-dismissedEmitted when the message is automatically dismissed after the display time.

Slots

NameDescriptionBindings
defaultMessage content.