npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@spectrum-web-components/progress-circle

v0.42.2

Published

An `<sp-progress-circle>` shows the progression of a system operation such as downloading, uploading, processing, etc. in a visual way. It can represent determinate or indeterminate progress.

Downloads

8,802

Readme

Description

An <sp-progress-circle> shows the progression of a system operation such as downloading, uploading, processing, etc. in a visual way. It can represent determinate or indeterminate progress.

Usage

See it on NPM! How big is this package in your project? Try it on webcomponents.dev

yarn add @spectrum-web-components/progress-circle

Import the side effectful registration of <sp-progress-circle> via:

import '@spectrum-web-components/progress-circle/sp-progress-circle.js';

When looking to leverage the ProgressCircle base class as a type and/or for extension purposes, do so via:

import { ProgressCircle } from '@spectrum-web-components/progress-circle';

Variants

Default

An <sp-progress-circle> is used to visually show the progression of a system operation such as downloading, uploading, processing, etc.

<div
    style="width: 250px; height: 150px; display: flex; align-items: center; justify-content: space-around;"
>
    <sp-progress-circle
        label="A small representation of a somewhat completed action"
        progress="71"
        size="s"
    ></sp-progress-circle>
    <sp-progress-circle
        label="A medium representation of a recently started action"
        progress="22"
    ></sp-progress-circle>
    <sp-progress-circle
        label="A large representation of an almost completed action"
        progress="86"
        size="l"
    ></sp-progress-circle>
</div>

Static

If you display your <sp-progress-cicle> element over the top of other content, e.g. an image or an alternate background color, it may become appropariate to update the colors with which the circle and loading progress indicator are delivered. To do this, leverage the static attribute with the value of white to ensure the content of your page is being delivered accessibly.

<div
    style="width: 250px; height: 150px; display: flex; align-items: center; justify-content: space-around;  background-color: rgba(0,0,0,0.4);"
>
    <sp-progress-circle
        label="A small representation of a partially completed action"
        progress="42"
        static="white"
        size="s"
    ></sp-progress-circle>
    <sp-progress-circle
        label="A medium representation of a barely started action"
        progress="7"
        static="white"
    ></sp-progress-circle>
    <sp-progress-circle
        label="A large representation of a somewhat completed action"
        progress="68"
        static="white"
        size="l"
    ></sp-progress-circle>
</div>

Indeterminate

A progress circle can be either determinate or indeterminate as signified by [indeterminate]. By default, loaders are determinate. Use a determinate loader when progress can be calculated against a specific goal (e.g., downloading a file of a known size). Use an indeterminate loader when progress is happening but the time or effort to completion can’t be determined (e.g., attempting to reconnect to a server).

<div
    style="width: 250px; height: 150px; display: flex; align-items: center; justify-content: space-around;"
>
    <sp-progress-circle
        label="A small representation of an unclear amount of work"
        indeterminate
        size="s"
    ></sp-progress-circle>
    <sp-progress-circle
        label="A medium representation of an unclear amount of work"
        indeterminate
    ></sp-progress-circle>
    <sp-progress-circle
        label="A large representation of an unclear amount of work"
        indeterminate
        size="l"
    ></sp-progress-circle>
</div>

Size

Progress Circles come in 3 sizes: small ([size="s"]), medium ([size="m"], default), or large ([size="l"]). These are available to fit various contexts. For example, the small loader can be used in place of an icon or in tight spaces, while the large one can be used for full-page loading.

Accessibility

An sp-progress-circle element will register itself as a role="progressbar" element in the accessibility tree. Any value applied to the label attribute will be set as the aria-label attribute on the host. These two attributes can be used interchangably to ensure that the sp-progress-circle elements in your UI correctly fulfills its responsibilities to visitors of you site of all abilities.