UNPKG

juvo-rafa-library

Version:

A comprehensive Angular component library featuring real-world components and validators extracted from the Juvo Rafa backoffice application. Now with improved select components and bug fixes.

74 lines (73 loc) 2.96 kB
import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; /** * Screen Loading Component * * @description * A screen-wide loading overlay component for blocking UI interactions during operations. * Originally designed for backoffice applications to handle multiple loading states. * Can combine multiple observables to show loading when any operation is in progress. * * @example * ```html * <!-- Single loading state --> * <juvo-screen-loading * [loading$]="dataLoading$" * message="Loading data..."> * </juvo-screen-loading> * * <!-- Multiple loading states --> * <juvo-screen-loading * [loadingList$]="[saveLoading$, deleteLoading$, updateLoading$]" * message="Processing operations..." * [backdrop]="true"> * </juvo-screen-loading> * * <!-- Custom styled loading --> * <juvo-screen-loading * [loading$]="criticalOperation$" * message="Critical operation in progress. Please do not refresh the page." * color="#dc2626" * size="large"> * </juvo-screen-loading> * ``` * * @selector juvo-screen-loading * @since 2.1.0 * @author Juvo Rafa Team */ export declare class JuvoScreenLoadingComponent { /** Single loading observable */ loading$?: Observable<boolean>; /** Array of loading observables to combine */ loadingList$: Observable<boolean>[]; /** Loading message to display @default "Loading..." */ message: string; /** Size of the loading spinner @default "large" */ size: 'small' | 'medium' | 'large'; /** Color of the spinner @default "#3b82f6" */ color: string; /** Whether to show backdrop @default true */ backdrop: boolean; /** Backdrop opacity @default 0.8 */ backdropOpacity: number; /** Whether to show the loading message @default true */ showMessage: boolean; /** * Gets the combined loading state from all sources * @returns Observable<boolean> indicating if any loading is in progress */ get combinedLoading$(): Observable<boolean>; /** * Gets the CSS class for the spinner size * @returns CSS class name for the current size */ get sizeClass(): string; /** * Gets the backdrop style * @returns CSS style object for backdrop */ get backdropStyle(): any; static ɵfac: i0.ɵɵFactoryDeclaration<JuvoScreenLoadingComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<JuvoScreenLoadingComponent, "juvo-screen-loading", never, { "loading$": { "alias": "loading$"; "required": false; }; "loadingList$": { "alias": "loadingList$"; "required": false; }; "message": { "alias": "message"; "required": false; }; "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "backdrop": { "alias": "backdrop"; "required": false; }; "backdropOpacity": { "alias": "backdropOpacity"; "required": false; }; "showMessage": { "alias": "showMessage"; "required": false; }; }, {}, never, never, true, never>; }