Message
import Message from "@intility/bifrost-react/Message";
Basic message
<Message>
is a colored text box, primarily used to emphasize content in
text-heavy pages. It may contain optional content such as text, lists, images
etc.
<Message>
I'm rather embarrassed, General Solo, but it appears that you are to be the
main course at a banquet in my honor.
</Message>
<Message>
I'm rather embarrassed, General Solo, but it appears that you are to be the
main course at a banquet in my honor.
</Message>
Message states
Choose between five different state
s:
default
(same as not supplying astate
)-
neutral
-
brand
-
chill
-
attention
-
success
-
warning
-
alert
<Message>
Default (follow theme) with a <a href="#">link</a>
</Message>
<Message state="neutral">
Neutral with a <a href="#">link</a>
</Message>
<Message state="brand">
Brand with a <a href="#">link</a>
</Message>
<Message state="chill">
Chill with a <a href="#">link</a>
</Message>
<Message state="attn">
Attention with a <a href="#">link</a>
</Message>
<Message state="success">
Success with a <a href="#">link</a>
</Message>
<Message state="warning">
Warning with a <a href="#">link</a>
</Message>
<Message state="alert">
Alert with a <a href="#">link</a>
</Message>
<Message>
Default (follow theme) with a <a href="#">link</a>
</Message>
<Message state="neutral">
Neutral with a <a href="#">link</a>
</Message>
<Message state="brand">
Brand with a <a href="#">link</a>
</Message>
<Message state="chill">
Chill with a <a href="#">link</a>
</Message>
<Message state="attn">
Attention with a <a href="#">link</a>
</Message>
<Message state="success">
Success with a <a href="#">link</a>
</Message>
<Message state="warning">
Warning with a <a href="#">link</a>
</Message>
<Message state="alert">
Alert with a <a href="#">link</a>
</Message>
Header
Including a header
will also render an icon depending on the state
.
<Message header="Header text">Message text</Message>
<Message header="Header text">Message text</Message>
Expandable
You can make Message
expandable with the expandable
prop. Use with the
header
prop to supply the toggle button text.
<Message expandable header="Header text will be the clickable button">
Content inside will be toggleable
</Message>
<Message expandable header="Header text will be the clickable button">
Content inside will be toggleable
</Message>
isOpen
prop
Render an expandable
message as expanded by default.
<Message expandable isOpen header="Default open">
Use <code>isOpen</code> to initially render message expanded.
</Message>
<Message expandable isOpen header="Default open">
Use <code>isOpen</code> to initially render message expanded.
</Message>
Controlled mode
Expanded state can be controlled, pass your own isOpen
state, combined with
onHeaderClick
prop.
Status bar
statusBar
prop is for a message that contains important information. A status
bar is a one-liner, that starts with an icon and is preferably placed on top of
a page.
Supports four state
s:
default
(same as not supplying astate
)-
neutral
-
brand
-
chill
-
attn
-
success
-
warning
-
alert
Does not support header
prop (will be ignored).
<Message statusBar>
Default (follow theme) with a <a href="#">link</a>
</Message>
<Message statusBar state="neutral">
Neutral with a <a href="#">link</a>
</Message>
<Message statusBar state="brand">
Brand with a <a href="#">link</a>
</Message>
<Message statusBar state="chill">
Chill with a <a href="#">link</a>
</Message>
<Message statusBar state="attn">
Attention with a <a href="#">link</a>
</Message>
<Message statusBar state="success">
Success with a <a href="#">link</a>
</Message>
<Message statusBar state="warning">
Warning with a <a href="#">link</a>
</Message>
<Message statusBar state="alert">
Alert with a <a href="#">link</a>
</Message>
<Message statusBar>
Default (follow theme) with a <a href="#">link</a>
</Message>
<Message statusBar state="neutral">
Neutral with a <a href="#">link</a>
</Message>
<Message statusBar state="brand">
Brand with a <a href="#">link</a>
</Message>
<Message statusBar state="chill">
Chill with a <a href="#">link</a>
</Message>
<Message statusBar state="attn">
Attention with a <a href="#">link</a>
</Message>
<Message statusBar state="success">
Success with a <a href="#">link</a>
</Message>
<Message statusBar state="warning">
Warning with a <a href="#">link</a>
</Message>
<Message statusBar state="alert">
Alert with a <a href="#">link</a>
</Message>
Custom icon
If you want to use a custom icon, use icon
prop. Works for any state and
statusBar
as well. You can opt-out of the automatic icon with noIcon
.
import { faStarshipFreighter } from "@fortawesome/pro-duotone-svg-icons";
<Message
icon={faStarshipFreighter}
header="You've never heard of the Millennium Falcon?"
>
It's the ship that made the Kessel run in less than twelve parsecs. I've
outrun Imperial starships. Not the local bulk cruisers, mind you. I'm talking
about the big Corellian ships, now. She's fast enough for you, old man.
</Message>;
import { faStarshipFreighter } from "@fortawesome/pro-duotone-svg-icons";
<Message
icon={faStarshipFreighter}
header="You've never heard of the Millennium Falcon?"
>
It's the ship that made the Kessel run in less than twelve parsecs. I've
outrun Imperial starships. Not the local bulk cruisers, mind you. I'm talking
about the big Corellian ships, now. She's fast enough for you, old man.
</Message>;
Close button
Pass a callback to onClose
to display a close button. You'll need to hide the
message yourself. A closable message cannot also be expandable
.
<Message header="Closable message" onClose={onCloseHandler}>
Closable message
</Message>
<Message header="Closable message" onClose={onCloseHandler}>
Closable message
</Message>