ngx-spinner
Version:
A library with more than 50 different loading spinners for Angular 4 - 21. (https://napster2210.github.io/ngx-spinner/)
329 lines (320 loc) • 9.34 kB
TypeScript
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import * as i0 from '@angular/core';
import { OnDestroy, OnInit, OnChanges, ChangeDetectorRef, ElementRef, SimpleChange, PipeTransform, ModuleWithProviders, EnvironmentProviders } from '@angular/core';
import { SafeHtml } from '@angular/platform-browser';
declare const LOADERS: {
"ball-8bits": number;
"ball-atom": number;
"ball-beat": number;
"ball-circus": number;
"ball-climbing-dot": number;
"ball-clip-rotate": number;
"ball-clip-rotate-multiple": number;
"ball-clip-rotate-pulse": number;
"ball-elastic-dots": number;
"ball-fall": number;
"ball-fussion": number;
"ball-grid-beat": number;
"ball-grid-pulse": number;
"ball-newton-cradle": number;
"ball-pulse": number;
"ball-pulse-rise": number;
"ball-pulse-sync": number;
"ball-rotate": number;
"ball-running-dots": number;
"ball-scale": number;
"ball-scale-multiple": number;
"ball-scale-pulse": number;
"ball-scale-ripple": number;
"ball-scale-ripple-multiple": number;
"ball-spin": number;
"ball-spin-clockwise": number;
"ball-spin-clockwise-fade": number;
"ball-spin-clockwise-fade-rotating": number;
"ball-spin-fade": number;
"ball-spin-fade-rotating": number;
"ball-spin-rotate": number;
"ball-square-clockwise-spin": number;
"ball-square-spin": number;
"ball-triangle-path": number;
"ball-zig-zag": number;
"ball-zig-zag-deflect": number;
cog: number;
"cube-transition": number;
fire: number;
"line-scale": number;
"line-scale-party": number;
"line-scale-pulse-out": number;
"line-scale-pulse-out-rapid": number;
"line-spin-clockwise-fade": number;
"line-spin-clockwise-fade-rotating": number;
"line-spin-fade": number;
"line-spin-fade-rotating": number;
pacman: number;
"square-jelly-box": number;
"square-loader": number;
"square-spin": number;
timer: number;
"triangle-skew-spin": number;
};
declare const DEFAULTS: {
BD_COLOR: string;
SPINNER_COLOR: string;
Z_INDEX: number;
};
declare const PRIMARY_SPINNER = "primary";
type Size = "default" | "small" | "medium" | "large";
interface Spinner {
bdColor?: string;
size?: Size;
color?: string;
type?: string;
fullScreen?: boolean;
zIndex?: number;
template?: string;
showSpinner?: boolean;
}
declare class NgxSpinner {
name: string;
bdColor: string;
size: Size;
color: string;
type: string;
class: string;
divCount: number;
divArray: Array<number>;
fullScreen: boolean;
show: boolean;
zIndex: number;
template: string;
showSpinner: boolean;
constructor(init?: Partial<NgxSpinner>);
static create(init?: Partial<NgxSpinner>): NgxSpinner;
}
declare class NgxSpinnerService {
/**
* Spinner observable
*
* @memberof NgxSpinnerService
*/
spinnerObservable: BehaviorSubject<NgxSpinner>;
/**
* Creates an instance of NgxSpinnerService.
* @memberof NgxSpinnerService
*/
constructor();
/**
* Get subscription of desired spinner
* @memberof NgxSpinnerService
**/
getSpinner(name: string): Observable<NgxSpinner>;
/**
* To show spinner
*
* @memberof NgxSpinnerService
*/
show(name?: string, spinner?: Spinner): Promise<unknown>;
/**
* To hide spinner
*
* @memberof NgxSpinnerService
*/
hide(name?: string, debounce?: number): Promise<unknown>;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxSpinnerService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<NgxSpinnerService>;
}
interface NgxSpinnerConfig {
type?: string;
}
declare class NgxSpinnerComponent implements OnDestroy, OnInit, OnChanges {
private spinnerService;
private changeDetector;
private elementRef;
private globalConfig;
/**
* To set backdrop color
* Only supports RGBA color format
* @memberof NgxSpinnerComponent
*/
bdColor: string;
/**
* To set spinner size
*
* @memberof NgxSpinnerComponent
*/
size: Size;
/**
* To set spinner color(DEFAULTS.SPINNER_COLOR)
*
* @memberof NgxSpinnerComponent
*/
color: string;
/**
* To set type of spinner
*
* @memberof NgxSpinnerComponent
*/
type: string;
/**
* To toggle fullscreen mode
*
* @memberof NgxSpinnerComponent
*/
fullScreen: boolean;
/**
* Spinner name
*
* @memberof NgxSpinnerComponent
*/
name: string;
/**
* z-index value
*
* @memberof NgxSpinnerComponent
*/
zIndex: number;
/**
* Custom template for spinner/loader
*
* @memberof NgxSpinnerComponent
*/
template: string;
/**
* Show/Hide the spinner
*
* @type {boolean}
* @memberof NgxSpinnerComponent
*/
showSpinner: boolean;
/**
* To enable/disable animation
*
* @type {boolean}
* @memberof NgxSpinnerComponent
*/
disableAnimation: boolean;
/**
* Spinner Object
*
* @memberof NgxSpinnerComponent
*/
spinner: NgxSpinner;
/**
* Array for spinner's div
*
* @memberof NgxSpinnerComponent
*/
divArray: Array<number>;
/**
* Counter for div
*
* @memberof NgxSpinnerComponent
*
*/
divCount: number;
/**
* Show spinner
*
* @memberof NgxSpinnerComponent
**/
show: boolean;
/**
* Unsubscribe from spinner's observable
*
* @memberof NgxSpinnerComponent
**/
ngUnsubscribe: Subject<void>;
/**
* Element Reference
*
* @memberof NgxSpinnerComponent
*/
spinnerDOM: {
nativeElement: any;
};
/**
* Creates an instance of NgxSpinnerComponent.
*
* @memberof NgxSpinnerComponent
*/
constructor(spinnerService: NgxSpinnerService, changeDetector: ChangeDetectorRef, elementRef: ElementRef, globalConfig: NgxSpinnerConfig);
initObservable(): void;
/**
* Initialization method
*
* @memberof NgxSpinnerComponent
*/
ngOnInit(): void;
/**
* To check event triggers inside the Spinner Zone
*
* @param {*} element
* @returns {boolean}
* @memberof NgxSpinnerComponent
*/
isSpinnerZone(element: any): boolean;
/**
* To set default ngx-spinner options
*
* @memberof NgxSpinnerComponent
*/
setDefaultOptions: () => void;
/**
* On changes event for input variables
*
* @memberof NgxSpinnerComponent
*/
ngOnChanges(changes: {
[propKey: string]: SimpleChange;
}): void;
/**
* To get class for spinner
*
* @memberof NgxSpinnerComponent
*/
getClass(type: string, size: Size): string;
/**
* Check if input variables have changed
*
* @memberof NgxSpinnerComponent
*/
onInputChange(): void;
/**
* Component destroy event
*
* @memberof NgxSpinnerComponent
*/
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxSpinnerComponent, [null, null, null, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<NgxSpinnerComponent, "ngx-spinner", never, { "bdColor": { "alias": "bdColor"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "type": { "alias": "type"; "required": false; }; "fullScreen": { "alias": "fullScreen"; "required": false; }; "name": { "alias": "name"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "template": { "alias": "template"; "required": false; }; "showSpinner": { "alias": "showSpinner"; "required": false; }; "disableAnimation": { "alias": "disableAnimation"; "required": false; }; }, {}, never, ["*"], true, never>;
}
declare class SafeHtmlPipe implements PipeTransform {
private sanitizer;
transform(value: string | null | undefined): SafeHtml;
static ɵfac: i0.ɵɵFactoryDeclaration<SafeHtmlPipe, never>;
static ɵpipe: i0.ɵɵPipeDeclaration<SafeHtmlPipe, "safeHtml", true>;
}
declare class NgxSpinnerModule {
static forRoot(config?: NgxSpinnerConfig): ModuleWithProviders<NgxSpinnerModule>;
static ɵfac: i0.ɵɵFactoryDeclaration<NgxSpinnerModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxSpinnerModule, never, [typeof NgxSpinnerComponent, typeof SafeHtmlPipe], [typeof NgxSpinnerComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<NgxSpinnerModule>;
}
/**
* Provides the configuration for the NgxSpinner.
*
* @param config - The configuration object for NgxSpinner.
* @returns An array of environment providers configured with the given NgxSpinner configuration.
* @example
* ```ts
* import { provideSpinnerConfig } from 'ngx-spinner';
*
* bootstrap(AppComponent, {
* providers: [
* provideSpinnerConfig({type: 'ball-scale-multiple'}),
* ],
* })
*/
declare const provideSpinnerConfig: (config: NgxSpinnerConfig) => EnvironmentProviders;
export { DEFAULTS, LOADERS, NgxSpinner, NgxSpinnerComponent, NgxSpinnerModule, NgxSpinnerService, PRIMARY_SPINNER, provideSpinnerConfig };
export type { Size, Spinner };