Circular Progress

Display circular progress in a compact space.

Live preview
Interact with the component to see results here.
View code
HTML
<sy-progress-circular
  percent="65"
  status="default"
  size="medium"
  id="sample"
  aria-label="File processing progress"
></sy-progress-circular>
<div class="demo-actions"
  style="display:flex;flex-wrap:wrap;gap:8px;margin-top:16px"
>
  <sy-button id="action-0" size="small">Read current value</sy-button>
</div>
<output id="demo-result" aria-live="polite"></output>

<script type="module">
  const describeResult = value => JSON.stringify(value, (_key, item) => {
    if (item instanceof File) return {
      name: item.name,
      size: item.size,
      type: item.type
    };
    if (item instanceof Element) return `<${item.localName}>`;
    return item;
  }) ?? 'Done';
  const actionTarget0 = document.querySelector("#sample");
  document.querySelector('#action-0').addEventListener('click', async () => {
    const result = await actionTarget0.getValue();
    document.querySelector('#demo-result').textContent = describeResult(result);
  });
</script>

Usage guide

#

Show one progress value concisely in a card or summary. Progress Bar is easier to read when comparing many values in a long list.

Progress
percent ranges from 0 to 100. Read the current value with getValue().
Size and status
Set the size with size, status with status, and hide the number with hideText.
When completion time is unknown
Use indeterminate to indicate a waiting state.

Feature examples

#

Choose a feature from 10 topics. Explore property settings, method calls, event results, and slot layouts through live examples and code.

Usage examples · Overview

Try the selected example. Topics with multiple configurations let you switch between detailed examples.

View code
HTML
Loading the example.

Property · Hide Text

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Indeterminate

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Percent

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Segment

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Size

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Status

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Property · Tooltip Title

See how settings change appearance and behavior.

View code
HTML
Loading the example.

Methods · getValue

Use the example's buttons to call methods and inspect their results.

View code
HTML
Loading the example.

Events · Changed

Interact with the component to see event names and payloads in the live preview below.

View code
HTML
Loading the example.

API reference

#

Hover over a name or focus it with the keyboard to see the code. On touch screens, tap the name.

<sy-progress-circular>

Properties

Attribute / PropertyTypeDefaultDescription
number0Completed percentage of the total task, from 0 to 100.
string''JSON string containing cumulative end percentages and statuses. Example: [{"percent":35,"status":"complete"},{"percent":100}].
'default' | 'error' | 'complete''default'Progress (default), error (error), or complete (complete) state.
booleanfalseHide the progress percentage in the center.
'small' | 'medium' | 'large''medium'Component size.
string''Progress tooltip title.
booleanfalseIndicate ongoing work without showing a completion percentage.

Events

EventDetailDescription
CustomEvent<{ percent: number }>Fires whenever `percent` changes. `event.detail.percent` is the new value.

Methods

MethodReturnsDescription
Promise<number>Return the current value or selected range.

Slots

SlotDescription
Content displayed in the tooltip area.