Progress bar
The progress-bar is part of the Gameface custom components suite.
Installation
npm i coherent-gameface-progress-bar
Usage with UMD:
<script src="./node_modules/coherent-gameface-progress-bar/dist/progress-bar.production.min.js"></script>
- add the progress-bar component to your html:
<gameface-progress-bar></gameface-progress-bar>
Configuration and usage is explained further down the document.
Usage with JavaScript:
If you wish to import the ProgressBar using JavaScript you can remove the script tag and import it like this:
import { ProgressBar } from 'coherent-gameface-progress-bar';
or simply
import 'coherent-gameface-progress-bar';
Note that this approach requires a module bundler like Webpack or Rollup to resolve the modules from the node_modules folder.
Configuration and Usage
Attributes
animation-duration
The progress-bar has animation-duration
attribute by which the animation
duration between the start and the end target value is set. The value must be a positive number and it is used as milliseconds.
The attribute is optional and if not provided, there will be no animation when setting the new progress.
Here is an example:
<gameface-progress-bar animation-duration="2000"></gameface-progress-bar>
You can update it using the setAttribute method:
document.querySelector('gameface-progress-bar').setAttribute('animation-duration', 1000);
You can also set it using JS:
const progressBarOne = document.getElementById('progress-bar-one');
progressBarOne.animDuration = 5000;
Note that updating the animation-duration
will start the animation from the beginning!
target-value
It specifies the progress that should be reached in percents. You can use it as an HTML attribute:
<gameface-progress-bar animation-duration="1000" target-value="60"></gameface-progress-bar>
You can update it using the setAttribute method:
document.querySelector('gameface-progress-bar').setAttribute('target-value', 100);
Or set it using JS object property accessors:
const progressBarOne = document.getElementById('progress-bar-one');
progressBarOne.targetValue = 100;
Add the Styles
<link rel="stylesheet" href="coherent-gameface-components-theme.css">
<link rel="stylesheet" href="style.css">
To overwrite the default styles, simply create new rules for the class names that you wish to change and include them after the default styles.
Specifications Overview
- The progress can be set in ascending or descending order.
- Works with and without an animation (through the
data-animation-duration
attribute on the HTML element). - Provide values between 0 and 100. This is the target
%
to which the bar will animate.