Progress Bar

Displays an indicator showing the completion progress of a task, typically displayed as a progress bar.

PreviousNext
import { Component } from '@angular/core';
 
import { ZardProgressBarComponent } from '../progress-bar.component';
 
@Component({
  selector: 'z-demo-progress-bar-basic',
  imports: [ZardProgressBarComponent],
  standalone: true,
  template: ` <z-progress-bar [progress]="50" /> `,
})
export class ZardDemoProgressBarBasicComponent {}
 

Installation

1

Run the CLI

Use the CLI to add the component to your project.

npx @ngzard/ui@latest add progress-bar
1

Add the component files

Create the component directory structure and add the following files to your project.

Loading...

Examples

basic

import { Component } from '@angular/core';
 
import { ZardProgressBarComponent } from '../progress-bar.component';
 
@Component({
  selector: 'z-demo-progress-bar-basic',
  imports: [ZardProgressBarComponent],
  standalone: true,
  template: ` <z-progress-bar [progress]="50" /> `,
})
export class ZardDemoProgressBarBasicComponent {}
 

indeterminate

import { Component } from '@angular/core';
 
import { ZardProgressBarComponent } from '../progress-bar.component';
 
@Component({
  selector: 'z-demo-progress-bar-indeterminate',
  imports: [ZardProgressBarComponent],
  standalone: true,
  template: ` <z-progress-bar [progress]="50" zShape="square" [zIndeterminate]="true" /> `,
})
export class ZardDemoProgressBarIndeterminateComponent {}
 

shape

import { Component } from '@angular/core';
 
import { ZardProgressBarComponent } from '../progress-bar.component';
 
@Component({
  selector: 'z-demo-progress-bar-shape',
  imports: [ZardProgressBarComponent],
  standalone: true,
  template: `
    <z-progress-bar [progress]="50" zShape="default" />
    <z-progress-bar [progress]="50" zShape="circle" />
    <z-progress-bar [progress]="50" zShape="square" />
  `,
  styles: `
    :host {
      display: flex;
      flex-direction: column;
      gap: 24px;
    }
  `,
})
export class ZardDemoProgressBarShapeComponent {}
 

size

import { Component } from '@angular/core';
 
import { ZardProgressBarComponent } from '../progress-bar.component';
 
@Component({
  selector: 'z-demo-progress-bar-size',
  imports: [ZardProgressBarComponent],
  standalone: true,
  template: `
    <z-progress-bar [progress]="50" zSize="default" />
    <z-progress-bar [progress]="50" zSize="sm" />
    <z-progress-bar [progress]="50" zSize="lg" />
  `,
  styles: `
    :host {
      display: flex;
      flex-direction: column;
      gap: 24px;
    }
  `,
})
export class ZardDemoProgressBarSizeComponent {}
 

Zard Progress Bar API

<z-progress-bar> Component

The z-progress-bar component is a flexible and customizable progress bar that allows full styling control using class-variance-authority (CVA). It provides several configuration options for size, shape, type, and more.

Usage

Properties

Property Description Type Default
[progress] Progress percentage (0-100). number 0
[zType] Defines the color variant. 'default' | 'destructive' | 'accent' 'default'
[zSize] Sets the height of the bar. 'default' | 'sm' | 'lg' 'default'
[zShape] Defines the border radius style. 'default' | 'circle' | 'square' 'default'
[zFull] Makes the container take full width. boolean false
[class] Custom classes for the container. string ''
[barClass] Custom classes for the progress bar. string ''
[zIndeterminate] Define loading infinity state. boolean false