@duskmoon-dev/el-progress
v1.5.5
Published
A progress bar component with various styles built with Web Components.
Downloads
1,597
Maintainers
Readme
@duskmoon-dev/el-progress
A progress bar component with various styles built with Web Components.
Installation
bun add @duskmoon-dev/el-progressUsage
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
