Progress

A progress bar shows the progression of a task.
Example
Theme
Auto
Auto
Light
Dark
Scale
Medium
Large
Medium
Small
50%
<div class="ts-progress">
    <div class="bar" style="--value: 50">
        <div class="text">50%</div>
    </div>
</div>
Structure
Text

A progress bar can have a text to show the percentage.

80%
<div class="ts-progress">
    <div class="bar" style="--value: 80">
        <div class="text">80%</div>
    </div>
</div>
States
Active

A progress bar can show activity.

<div class="ts-progress is-active">
    <div class="bar" style="--value: 70"></div>
</div>
Processing

A progress bar can indicate that the task is being processed.

<div class="ts-progress is-processing">
    <div class="bar" style="--value: 40"></div>
</div>

A progress bar can be shown in indeterminate state.

<div class="ts-progress is-indeterminate">
    <div class="bar" style="--value: 50"></div>
</div>
Queried

A progress bar can show the task is being queried.

<div class="ts-progress is-queried">
    <div class="bar" style="--value: 30"></div>
</div>
Variations
Empty

An empty progress bar shows no progress.

0%
<div class="ts-progress is-empty">
    <div class="bar" style="--value: 0">
        <div class="text">0%</div>
    </div>
</div>
Secondary

A secondary progress bar can act like a buffer or a secondary task.

40%
60%
<div class="ts-progress">
    <div class="bar" style="--value: 40">
        <div class="text">40%</div>
    </div>
    <div class="bar is-secondary" style="--value: 60">
        <div class="text">60%</div>
    </div>
</div>
Sizes

A progress bar can have different sizes.

50%
50%
50%
50%
<div class="ts-progress is-tiny">
    <div class="bar" style="--value: 50">
        <div class="text">50%</div>
    </div>
</div>
<div class="ts-progress is-small">
    <div class="bar" style="--value: 50">
        <div class="text">50%</div>
    </div>
</div>
<div class="ts-progress">
    <div class="bar" style="--value: 50">
        <div class="text">50%</div>
    </div>
</div>
<div class="ts-progress is-large">
    <div class="bar" style="--value: 50">
        <div class="text">50%</div>
    </div>
</div>
Compositions

Upload photos with a progress bar.

70%
3 of 4 photos are processing.
A placeholder image
<div class="ts-box">
    <div class="ts-content is-secondary">
        <div class="ts-progress is-processing">
            <div class="bar" style="--value: 70">
                <div class="text">70%</div>
            </div>
        </div>
        <div class="ts-text is-description has-top-spaced-small">
            3 of 4 photos are processing.
        </div>
    </div>
    <div class="ts-divider"></div>
    <div class="ts-content">
        <div class="ts-grid">
            <div class="column">
                <img src="image.png" width="145">
            </div>
            <div class="column is-fluid">
                <div class="ts-grid">
                    <div class="column is-fluid">
                        <div class="ts-input">
                            <input type="text" placeholder="Title">
                        </div>
                    </div>
                    <div class="column">
                        <button class="ts-button is-icon is-outlined">
                            <span class="ts-icon is-trash-icon"></span>
                        </button>
                    </div>
                </div>
                <div class="ts-input has-top-spaced">
                    <textarea placeholder="Description..."></textarea>
                </div>
            </div>
        </div>
    </div>
</div>
CSS Variables
Description

The percentage of the progress.

Looking for similar components?
Designed by Yami Odymel from Taiwan, along with the ❤️ from contributors. The source code is licensed under MIT, and the documentation is under CC 0 public domain. Feel free to use, share, or contribute. Tocas UI is a design system for Caris Events, part of Sorae & Co., Ltd.
Translators: Yami Odymel
Trademark of the owner of Tocas UI