mirror of
https://github.com/primer/css.git
synced 2024-12-12 18:58:01 +03:00
b29549ab69
In line 159 exists a </strong> with out a <strong> in front of it.
228 lines
9.4 KiB
Markdown
228 lines
9.4 KiB
Markdown
---
|
|
title: Toasts
|
|
path: components/toasts
|
|
status: Experimental
|
|
status_issue: 'https://github.com/github/design-systems/issues/101'
|
|
source: ''
|
|
bundle: toasts
|
|
---
|
|
|
|
Toasts are used to show live, time-sensitive feedback to users.
|
|
|
|
## Default
|
|
|
|
To create a default toast, use `.Toast`. Always use the `info` icon for default messages.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "info" %>-->
|
|
<svg width="14" height="16" viewBox="0 0 14 16" class="octicon octicon-info" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
/>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">Toast message goes here</span>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
The Toast content is formattable. We recommend keeping your message under 140 characters.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "info" %> -->
|
|
<svg width="14" height="16" viewBox="0 0 14 16" class="octicon octicon-info" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
/>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">
|
|
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
|
<strong>Aenean commodo ligula eget dolor.</strong> Aenean massa. Cum sociis <em>natoque</em> penatibus et ma
|
|
</span>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
## Variations
|
|
|
|
Use the success, warning, and error modifiers to communicate different states.
|
|
|
|
Always use the `check` octicon for success states.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast Toast--success">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "check" %> -->
|
|
<svg width="12" height="16" viewBox="0 0 12 16" class="octicon octicon-check" aria-hidden="true">
|
|
<path fill-rule="evenodd" d="M12 5l-8 8-4-4 1.5-1.5L4 10l6.5-6.5L12 5z" />
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">Success message goes here.</span>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
Always use the `alert` octicon for warning states.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast Toast--warning">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "alert" %> -->
|
|
<svg width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-alert" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"
|
|
/>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">Warning message goes here.</span>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
Always use the `stop` octicon for error states.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast Toast--error">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "stop" %> -->
|
|
<svg width="14" height="16" viewBox="0 0 14 16" class="octicon octicon-stop" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M10 1H4L0 5v6l4 4h6l4-4V5l-4-4zm3 9.5L9.5 14h-5L1 10.5v-5L4.5 2h5L13 5.5v5zM6 4h2v5H6V4zm0 6h2v2H6v-2z"
|
|
/>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">Error message goes here</span>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
## Toast with dismiss
|
|
|
|
Use `.Toast-dismissButton` to allow a user to explicitly dismiss a Toast.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "info" %> -->
|
|
<svg width="14" height="16" viewBox="0 0 14 16" class="octicon octicon-info" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
/>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">This toast is dismissable.</span>
|
|
<button class="Toast-dismissButton">
|
|
<!-- <%= octicon "x" %> -->
|
|
<svg width="12" height="16" viewBox="0 0 12 16" class="octicon octicon-x" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M7.48 8l3.75 3.75-1.48 1.48L6 9.48l-3.75 3.75-1.48-1.48L4.52 8 .77 4.25l1.48-1.48L6 6.52l3.75-3.75 1.48 1.48L7.48 8z"
|
|
/>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
## Toast with link
|
|
|
|
Include a link to allow users to take actions within a Toast.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "info" %> -->
|
|
<svg width="14" height="16" viewBox="0 0 14 16" class="octicon octicon-info" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
/>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">Toast message goes here<a href="#">Action.</a></span>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
## Toast animation in
|
|
|
|
The `Toast--animateIn` and `Toast--animateOut` modifier classes can be used to animate the toast in and out from the bottom.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast Toast--animateIn">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "info" %> -->
|
|
<svg width="14" height="16" viewBox="0 0 14 16" class="octicon octicon-info" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
/>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">Toast message goes here.</span>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
## Toast with loading animation
|
|
|
|
Add the `Toast--spinner` modifier class on the `Toast-icon` `svg` to communicate a loading state.
|
|
|
|
```html live
|
|
<div class="p-1">
|
|
<div class="Toast Toast--loading">
|
|
<span class="Toast-icon">
|
|
<svg class="Toast--spinner" viewBox="0 0 32 32" width="18" height="18">
|
|
<path
|
|
fill="#959da5"
|
|
d="M16 0 A16 16 0 0 0 16 32 A16 16 0 0 0 16 0 M16 4 A12 12 0 0 1 16 28 A12 12 0 0 1 16 4"
|
|
/>
|
|
<path fill="#ffffff" d="M16 0 A16 16 0 0 1 32 16 L28 16 A12 12 0 0 0 16 4z"></path>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">Toast message goes here.</span>
|
|
</div>
|
|
</div>
|
|
```
|
|
|
|
## Toast position
|
|
|
|
Use the `position-fixed bottom-0 left-0` utility classes on a wrapper element to position Toasts at the **bottom left** of the viewport.
|
|
|
|
```html live
|
|
<div style="height:150px">
|
|
<div class="position-fixed bottom-0 left-0 mb-3 ml-3">
|
|
<div class="Toast">
|
|
<span class="Toast-icon">
|
|
<!-- <%= octicon "info" %> -->
|
|
<svg width="14" height="16" viewBox="0 0 14 16" class="octicon octicon-info" aria-hidden="true">
|
|
<path
|
|
fill-rule="evenodd"
|
|
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
/>
|
|
</svg>
|
|
</span>
|
|
<span class="Toast-content">Toast message goes here.</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
```
|