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
TypeScript
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>;
}