UNPKG

angular-svg-round-progressbar

Version:

Angular module that uses SVG to create a circular progressbar

164 lines (157 loc) 8.14 kB
import * as i0 from '@angular/core'; import { InjectionToken, Provider, OnChanges, ElementRef, EventEmitter, NgZone, SimpleChanges } from '@angular/core'; declare class RoundProgressService { private base; private hasPerf; supportsSvg: boolean; constructor(document?: Document); /** * Resolves a SVG color against the page's `base` tag. */ resolveColor(color: string): string; /** * Generates a timestamp. */ getTimestamp(): number; /** * Generates the value for an SVG arc. * * @param current Current value. * @param total Maximum value. * @param pathRadius Radius of the SVG path. * @param elementRadius Radius of the SVG container. * @param isSemicircle Whether the element should be a semicircle. */ getArc(current: number, total: number, pathRadius: number, elementRadius: number, isSemicircle?: boolean): string; /** * Converts polar cooradinates to Cartesian. * * @param elementRadius Radius of the wrapper element. * @param pathRadius Radius of the path being described. * @param angleInDegrees Degree to be converted. */ private _polarToCartesian; static ɵfac: i0.ɵɵFactoryDeclaration<RoundProgressService, [{ optional: true; }]>; static ɵprov: i0.ɵɵInjectableDeclaration<RoundProgressService>; } declare const ROUND_PROGRESS_DEFAULTS: InjectionToken<RoundProgressDefaults>; declare const ROUND_PROGRESS_DEFAULTS_PROVIDER: Provider; interface RoundProgressDefaults { radius?: number; animation?: string; animationDelay?: number; duration?: number; stroke?: number; color?: string; background?: string; responsive?: boolean; clockwise?: boolean; semicircle?: boolean; rounded?: boolean; innerCircleFill?: string; } declare class RoundProgressEase { linearEase(t: number, b: number, c: number, d: number): number; easeInQuad(t: number, b: number, c: number, d: number): number; easeOutQuad(t: number, b: number, c: number, d: number): number; easeInOutQuad(t: number, b: number, c: number, d: number): number; easeInCubic(t: number, b: number, c: number, d: number): number; easeOutCubic(t: number, b: number, c: number, d: number): number; easeInOutCubic(t: number, b: number, c: number, d: number): number; easeInQuart(t: number, b: number, c: number, d: number): number; easeOutQuart(t: number, b: number, c: number, d: number): number; easeInOutQuart(t: number, b: number, c: number, d: number): number; easeInQuint(t: number, b: number, c: number, d: number): number; easeOutQuint(t: number, b: number, c: number, d: number): number; easeInOutQuint(t: number, b: number, c: number, d: number): number; easeInSine(t: number, b: number, c: number, d: number): number; easeOutSine(t: number, b: number, c: number, d: number): number; easeInOutSine(t: number, b: number, c: number, d: number): number; easeInExpo(t: number, b: number, c: number, d: number): number; easeOutExpo(t: number, b: number, c: number, d: number): number; easeInOutExpo(t: number, b: number, c: number, d: number): number; easeInCirc(t: number, b: number, c: number, d: number): number; easeOutCirc(t: number, b: number, c: number, d: number): number; easeInOutCirc(t: number, b: number, c: number, d: number): number; easeInElastic(t: number, b: number, c: number, d: number): number; easeOutElastic(t: number, b: number, c: number, d: number): number; easeInOutElastic(t: number, b: number, c: number, d: number): number; easeInBack(t: number, b: number, c: number, d: number, s?: number): number; easeOutBack(t: number, b: number, c: number, d: number, s?: number): number; easeInOutBack(t: number, b: number, c: number, d: number, s?: number): number; easeInBounce(t: number, b: number, c: number, d: number): number; easeOutBounce(t: number, b: number, c: number, d: number): number; easeInOutBounce(t: number, b: number, c: number, d: number): number; static ɵfac: i0.ɵɵFactoryDeclaration<RoundProgressEase, never>; static ɵprov: i0.ɵɵInjectableDeclaration<RoundProgressEase>; } 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; /** Fill color of the circle inside the progress bar */ innerCircleFill: string; /** 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; }; "innerCircleFill": { "alias": "innerCircleFill"; "required": false; }; }, { "onRender": "onRender"; }, never, never, true, never>; } declare class RoundProgressModule { static ɵfac: i0.ɵɵFactoryDeclaration<RoundProgressModule, never>; static ɵmod: i0.ɵɵNgModuleDeclaration<RoundProgressModule, never, [typeof RoundProgressComponent], [typeof RoundProgressComponent]>; static ɵinj: i0.ɵɵInjectorDeclaration<RoundProgressModule>; } export { ROUND_PROGRESS_DEFAULTS, ROUND_PROGRESS_DEFAULTS_PROVIDER, RoundProgressComponent, RoundProgressEase, RoundProgressModule, RoundProgressService, RoundProgressModule as RoundprogressModule }; export type { RoundProgressDefaults };