Action indicators let users know when there is a background task underway. Depending on the type of indicator used, it may disappear or its state may change when the task is complete. These indicators assure a user that the system is still working as intended.
<div class="c-loading__overlay">
<div class="c-loading">
<div class="c-loading__spinner"></div>
<div class="c-loading__content">
Loading...
</div>
</div>
</div>
<div
class="c-loading__overlay--contained">
<div class="c-loading">
<div class="c-loading__spinner"></div>
<div class="c-loading__content">
Loading...
</div>
</div>
</div>
<div class="c-loading c-loading--non-blocking">
<div class=""></div>
<div class="c-loading__spinner"></div>
<div class="c-loading__content">
In Progress...
</div>
</div>
The non-blocking indicator has an in-progress and a completed state.
The position of the blocking indicators will always be centered over the gray overlay, either over the entire page or a particular content region. The position of the non-blocking indicator will always appear centered and the top of the user's screen so that it does not interfere with other layout elements. Because they exist in the frame level of the elevation structure, non-blocking action indicators use a medium shadow. The position will always be fixed, regardless of scroll position. When arranging components in the underlying layout, be aware that they will scroll behind the autosave component when it appears.
The label should give theh user an indication of what is happening in the background using a present participle (-ing) verb form, i.e. Downloading, Submitting, Saving. For the completed state of the non-blocking indicator, use the same verb in the simple past tense, i.e. Downloaded, Submitted, Saved.