The progress bars are for situations where the percentage completed can be determined. They give users a quick sense of how much longer an operation will take.
There is also a secondary progress which is useful for displaying intermediate progress, such as the buffer level during a streaming playback progress bar.
See: Documentation, Demo.
npm install --save @polymer/paper-progress
<html>
<head>
<script type="module">
import '@polymer/paper-progress/paper-progress.js';
</script>
</head>
<body>
<paper-progress indeterminate class="blue"></paper-progress>
<paper-progress indeterminate class="slow red"></paper-progress>
<paper-progress value="40" secondary-progress="80"></paper-progress>
</body>
</html>
import {PolymerElement, html} from '@polymer/polymer';
import '@polymer/paper-progress/paper-progress.js';
class SampleElement extends PolymerElement {
static get template() {
return html`
<paper-progress indeterminate class="blue"></paper-progress>
<paper-progress indeterminate class="slow red"></paper-progress>
<paper-progress value="40" secondary-progress="80"></paper-progress>
`;
}
}
customElements.define('sample-element', SampleElement);
If you want to send a PR to this element, here are the instructions for running the tests and demo locally:
git clone https://github.com/PolymerElements/paper-progress
cd paper-progress
npm install
npm install -g polymer-cli
polymer serve --npm
open http://127.0.0.1:<port>/demo/
polymer test --npm