JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6
  • Score
    100M100P100Q94728F

Package Exports

  • @duskmoon-dev/el-progress
  • @duskmoon-dev/el-progress/register

Readme

@duskmoon-dev/el-progress

A progress bar component with various styles built with Web Components.

Installation

bun add @duskmoon-dev/el-progress

Usage

Auto-Register

import '@duskmoon-dev/el-progress/register';
<el-dm-progress value="50"></el-dm-progress>

Manual Registration

import { ElDmProgress, register } from '@duskmoon-dev/el-progress';

// Register with default tag name
register();

// Or register with custom tag name
customElements.define('my-progress', ElDmProgress);

Sizes

Size Description
sm Small/thin progress bar
md Medium progress bar (default)
lg Large/thick progress bar

Attributes

Attribute Type Default Description
value number 0 Current value
max number 100 Maximum value
color string 'primary' Color variant
size string 'md' Size: sm, md, lg
indeterminate boolean false Show indeterminate state
striped boolean false Show striped pattern
animated boolean false Animate the stripes
show-value boolean false Show value text

CSS Parts

Part Description
progress The progress container
bar The progress bar fill
value The value text

Examples

Basic

<el-dm-progress value="50"></el-dm-progress>

With Value Display

<el-dm-progress value="75" show-value></el-dm-progress>

Colors

<el-dm-progress value="50" color="primary"></el-dm-progress>
<el-dm-progress value="50" color="success"></el-dm-progress>
<el-dm-progress value="50" color="warning"></el-dm-progress>
<el-dm-progress value="50" color="error"></el-dm-progress>

Sizes

<el-dm-progress value="50" size="sm"></el-dm-progress>
<el-dm-progress value="50" size="md"></el-dm-progress>
<el-dm-progress value="50" size="lg"></el-dm-progress>

Indeterminate

<el-dm-progress indeterminate></el-dm-progress>

Striped

<el-dm-progress value="50" striped></el-dm-progress>

Animated Stripes

<el-dm-progress value="50" striped animated></el-dm-progress>

Dynamic Update

const progress = document.querySelector('el-dm-progress');
let value = 0;
const interval = setInterval(() => {
  value += 10;
  progress.value = value;
  if (value >= 100) clearInterval(interval);
}, 500);

License

MIT