logo polydile dile-components

dile-progress-bar

Web Component to create a customized progress bar.

Installation

npm i @dile/dile-progress-bar

Usage

Import the component

import "@dile/dile-progress-bar/dile-progress-bar.js";

Use the component

<dile-progress-bar
  title="I am a styled progress bar and animated"
  class="styled"
  value="80"
>
  <div slot="animated"></div>
</dile-progress-bar>

Properties

CSS Custom Properties

You can customize it using CSS Custom Properties.

Custom propertyDescriptionDefault
--dile-progress-bar-title-margin-topTop margin0px
--dile-progress-bar-title-margin-rightRight margin0px
--dile-progress-bar-title-margin-bottomBottom margin10px
--dile-progress-bar-title-margin-leftLeft margin0px
--dile-progress-backgroundColor of background progress bar#e9ecef
--dile-progress-border-radiusBorder of background progress bar20px
--dile-progress-bar-min-heightMin height progress20px
--dile-progress-bar-alignText align of percentageflex-start
--dile-progress-bar-backgroundColor of progress bar#b8b9b9
--dile-progress-bar-border-radiusBorder of progress bar20px
--dile-progress-bar-percentage-font-sizeFont size of text progress bar14px
--dile-progress-bar-percentage-font-weightFont weight of text progress bar500
--dile-progress-bar-percentage-colorFont color of text progress bar#eaeaea
--dile-progres-bar-percentage-padding-topPadding top of text progress bar6px
--dile-progres-bar-percentage-padding-rightPadding right of text progress bar6px
--dile-progres-bar-percentage-padding-bottomPadding bottom of text progress bar6px
--dile-progres-bar-percentage-padding-leftPadding left of text progress bar10px

dile-progress-bar demos

Regular progress bar

<style>
  dile-progress-bar {
    margin: 1.2rem;
  }
</style>
<dile-progress-bar></dile-progress-bar>

Progress bar with title

<style>
  dile-progress-bar {
    margin: 1.2rem;
  }
</style>
<dile-progress-bar title="Title of progress bar"></dile-progress-bar>

Progress bar with title and percentage

<style>
  dile-progress-bar {
    margin: 1.2rem;
  }
</style>
<dile-progress-bar
  title="Title of progress bar with percentage"
  value="80"
></dile-progress-bar>

Styled progress bar

<style>
  .styled {
    --dile-progress-background: #e6f3fa;
    --dile-progress-border-radius: 20px;
    --dile-progress-bar-align: flex-end;
    --dile-progress-bar-background: #2cb7cc;
    --dile-progress-bar-border-radius: 20px;
    --dile-progress-bar-percentage-color: #fff;
    --dile-progress-bar-percentage-font-size: 16px;
    --dile-progres-bar-percentage-padding-right: 20px;
  }
  dile-progress-bar {
    margin: 1.2rem;
  }
</style>
<dile-progress-bar
  title="I am a styled progress bar"
  class="styled"
  value="80"
></dile-progress-bar>

Styled progress bar and animated

<style>
  dile-progress-bar {
    margin: 1.2rem;
  }
</style>
<h2>Styled progress bar and animated</h2>
<dile-progress-bar
  animated
  title="I am a styled progress bar and animated"
  class="styled"
  value="80"
></dile-progress-bar>