angular-svg-round-progressbar
Version:
Angular module that uses SVG to create a circular progressbar
67 lines (66 loc) • 3.54 kB
TypeScript
import { OnChanges, NgZone, EventEmitter, ElementRef, SimpleChanges } from '@angular/core';
import { RoundProgressService } from './round-progress.service';
import { RoundProgressDefaults } from './round-progress.config';
import { RoundProgressEase } from './round-progress.ease';
import * as i0 from "@angular/core";
export declare class RoundProgressComponent implements OnChanges {
private service;
private easing;
private defaults;
private ngZone;
private currentLinecap;
/** Reference to the underlying `path` node. */
path: ElementRef<SVGPathElement>;
/** Current value of the progress bar. */
current: number;
/** Maximum value of the progress bar. */
max: number;
/** Radius of the circle. */
radius: number;
/** Name of the easing function to use when animating. */
animation: string;
/** Time in millisconds by which to delay the animation. */
animationDelay: number;
/** Duration of the animation. */
duration: number;
/** Width of the circle's stroke. */
stroke: number;
/** Color of the circle. */
color: string;
/** Background color of the circle. */
background: string;
/** Whether the circle should take up the width of its parent. */
responsive: boolean;
/** Whether the circle is filling up clockwise. */
clockwise: boolean;
/** Whether to render a semicircle. */
semicircle: boolean;
/** Whether the tip of the progress should be rounded off. */
rounded: boolean;
/** Emits when a new value has been rendered. */
onRender: EventEmitter<number>;
private lastAnimationId;
constructor(service: RoundProgressService, easing: RoundProgressEase, defaults: RoundProgressDefaults, ngZone: NgZone);
/** Animates a change in the current value. */
private _animateChange;
/** Updates the path apperance. */
private _updatePath;
/** Clamps a value between the maximum and 0. */
private _clamp;
/** Determines the SVG transforms for the <path> node. */
getPathTransform(): string | null;
/** Resolves a color through the service. */
resolveColor(color: string): string;
/** Change detection callback. */
ngOnChanges(changes: SimpleChanges): void;
/** Diameter of the circle. */
_getDiameter(): number;
/** The CSS height of the wrapper element. */
_getElementHeight(): string | null;
/** Viewbox for the SVG element. */
_getViewBox(): string;
/** Bottom padding for the wrapper element. */
_getPaddingBottom(): string | null;
static ɵfac: i0.ɵɵFactoryDeclaration<RoundProgressComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<RoundProgressComponent, "round-progress", never, { "current": { "alias": "current"; "required": false; }; "max": { "alias": "max"; "required": false; }; "radius": { "alias": "radius"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "animationDelay": { "alias": "animationDelay"; "required": false; }; "duration": { "alias": "duration"; "required": false; }; "stroke": { "alias": "stroke"; "required": false; }; "color": { "alias": "color"; "required": false; }; "background": { "alias": "background"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "clockwise": { "alias": "clockwise"; "required": false; }; "semicircle": { "alias": "semicircle"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, { "onRender": "onRender"; }, never, never, true, never>;
}