@rxxuzi/gumi
Version:
Clean & minimal design system with delightful interactions
68 lines (67 loc) • 1.5 kB
TypeScript
import { ProgressOptions, GumiElement } from '../types';
export declare class Progress {
private container;
private bar;
private value;
private options;
constructor(element: GumiElement, options: ProgressOptions);
/**
* Initialize progress bar
*/
private init;
/**
* Set progress value
*/
setValue(value: number): void;
/**
* Get current value
*/
getValue(): number;
/**
* Update color based on value
*/
private updateColor;
/**
* Increment progress
*/
increment(amount?: number): void;
/**
* Decrement progress
*/
decrement(amount?: number): void;
/**
* Set to indeterminate state
*/
setIndeterminate(indeterminate?: boolean): void;
/**
* Set striped style
*/
setStriped(striped?: boolean): void;
/**
* Set animated style
*/
setAnimated(animated?: boolean): void;
/**
* Animate to value
*/
animateTo(targetValue: number, duration?: number): Promise<void>;
/**
* Reset progress
*/
reset(): void;
/**
* Complete progress
*/
complete(): void;
/**
* Static helper to create progress bar
*/
static create(options?: ProgressOptions & {
container?: HTMLElement;
className?: string;
}): Progress;
/**
* Static method to set progress on element
*/
static setProgress(selector: GumiElement, value: number): void;
}