import * as i0 from '@angular/core'; /** * @description * EuiBlockDocumentComponent creates a document overlay that can be toggled into * a blocked state. When blocked, a loading indicator is displayed. * Uses OnPush change detection strategy for better performance. * * @usageNotes * #### Typically placed at app root level * ```html * * ``` * * #### Trigger blocking from component * ```html * * ``` * * ```ts * import { EuiAppShellService } from '@eui/core'; * * private appShellService = inject(EuiAppShellService); * isProcessing = false; * * blockDocument(): void { * this.appShellService.isBlockDocumentActive = true; * * // Simulate async operation * setTimeout(() => { * this.appShellService.isBlockDocumentActive = false; * }, 2000); * } * ``` * * ### Accessibility * - Uses role="region" for semantic landmark identification * - aria-label provides context about the blocked state * - Loading indicator is announced to screen readers * - Prevents interaction with underlying content when blocked * - Focus is trapped within the overlay during blocked state * * ### Notes * - Typically controlled via EuiAppShellService.isBlockDocumentActive property * - Creates full-page overlay when isBlocked is true * - Displays loading spinner automatically during blocked state * - Should be placed at application root level for full document coverage * - Use for long-running operations that require blocking entire UI * - Different from eui-block-content which blocks specific sections * - Automatically handles z-index to appear above all content * - Consider user experience - use sparingly for truly blocking operations */ declare class EuiBlockDocumentComponent { /** * Applies CSS classes to the host element. * Always includes 'eui-block-document' and conditionally adds * 'eui-block-document--blocked' when isBlocked is true. * * @returns String of space-separated CSS classes */ get cssClasses(): string; /** * Controls whether the document is in blocked state. * When true, displays the loading indicator. * * @default false */ isBlocked: boolean; /** * ARIA role for the document component. * * @default 'region' */ role: string; /** * ARIA label for the document component. * * @default 'eUI Block Document' */ ariaLabel: string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_isBlocked: unknown; } declare const EUI_BLOCK_DOCUMENT: readonly [typeof EuiBlockDocumentComponent]; export { EUI_BLOCK_DOCUMENT, EuiBlockDocumentComponent }; //# sourceMappingURL=eui-components-eui-block-document.d.ts.map