# Progress Indicator >> Examples ||30 ```js script import { html } from '@mdjs/mdjs-preview'; import '@lion/ui/define/lion-progress-indicator.js'; import './assets/my-indeterminate-progress-spinner.js'; import './assets/my-determinate-progress-bar.js'; const changeProgress = () => { const progressBar = document.getElementsByName('my-bar')[0]; progressBar.value = Math.floor(Math.random() * 101); }; ``` ## Styled progress bar example Add custom styles and more features by extending the `LionProgressIndicator`. ```js export class MyDeterminateProgressBar extends LionProgressIndicator { static get styles() { return [ css` :host { display: block; position: relative; width: 100%; height: 6px; overflow: hidden; background-color: #eee; } .progress__filled { height: inherit; background-color: green; border-radius: inherit; } `, ]; } _graphicTemplate() { return html`
`; } } ``` By given the progress-indicator a value it becomes determinate. The min is automatically set to "0" and max to "100", but they can be set to your local needs. ```js preview-story export const progressBarDemo = () => html`