import { ConnectedOverlayPositionChange, ConnectedPosition } from '@angular/cdk/overlay'; import { OverlayContentComponent } from '../overlay-content/overlay-content.component'; import { OverlayTriggerComponent } from '../overlay-trigger/overlay-trigger.component'; import * as i0 from "@angular/core"; /** Overlay X position options for CDK overlay positioning */ export type OverlayXPosition = 'start' | 'center' | 'end'; /** Overlay Y position options for CDK overlay positioning */ export type OverlayYPosition = 'top' | 'bottom' | 'center'; /** Overlay fallback position configuration */ export interface OverlayFallbackPositions { /** Enable automatic fallback positions */ enabled: boolean; /** Custom fallback positions - if not provided, default fallbacks will be used */ positions?: ConnectedPosition[]; } /** * Overlay - Shell component for creating custom overlays with positioning * * @remarks * This component provides the infrastructure for creating custom overlays with proper positioning, * accessibility, and animation support. It's designed to be used as a shell where the consumer * has full control over the trigger and content styling. * * The overlay is controlled through methods: Use `open()`, `close()`, and `toggle()` methods programmatically * via template reference variables. * * @example * ```html * * * * * * *
Content
*
*
* * * * * * * *
Content
* *
* *
* * * * * * * * * *
Content will match trigger width
*
*
* ``` */ export declare class OverlayComponent { trigger: import("@angular/core").Signal; content: import("@angular/core").Signal; /** Offset X in pixels */ offsetX: import("@angular/core").InputSignal; /** Offset Y in pixels */ offsetY: import("@angular/core").InputSignal; /** Origin X position */ originX: import("@angular/core").InputSignal; /** Origin Y position */ originY: import("@angular/core").InputSignal; /** Overlay X position */ overlayX: import("@angular/core").InputSignal; /** Overlay Y position */ overlayY: import("@angular/core").InputSignal; /** Fallback positions configuration */ fallbacks: import("@angular/core").InputSignal; /** Whether to sync the overlay content width with the trigger width */ syncWidth: import("@angular/core").InputSignal; /** Internal signal to track overlay state */ readonly _isOpen: import("@angular/core").WritableSignal; /** Internal signal to track the synced width */ readonly _syncedWidth: import("@angular/core").WritableSignal; /** Current active position configuration */ currentPosition: import("@angular/core").WritableSignal; /** Event emitted when overlay is opened */ opened: import("@angular/core").OutputEmitterRef; /** Event emitted when overlay is closed */ closed: import("@angular/core").OutputEmitterRef; constructor(); private readonly setOverlayEffect; /** * Computed positions array based on signal inputs */ positions: import("@angular/core").Signal; /** * Generate default fallback positions based on the primary position */ private generateDefaultFallbacks; /** * Helper to flip Y position */ private getOppositeY; /** * Helper to flip X position */ private getOppositeX; /** * Helper to create position variant */ private createPosition; /** * Add axis flip fallbacks */ private addAxisFlips; /** * Add standard overlay positions */ private addStandardPositions; /** * Check if position is duplicate */ private isPositionDuplicate; /** * Open the overlay */ open(): void; /** * Close the overlay */ close(): void; /** * Toggle the overlay open/close state */ toggle(): void; /** * Update the synced width based on trigger element width */ private updateSyncedWidth; /** * Handle position changes from CDK overlay */ onPositionChange(position: ConnectedOverlayPositionChange): void; /** * Handle click outside to close overlay */ onClickOutside(): void; /** * Handle window resize to update synced width */ onWindowResize(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }