/** * @license * Copyright 2023 Google Laabidi Aymen * SPDX-License-Identifier: MIT */ import { ReactiveController, ReactiveControllerHost } from 'lit'; import { PositioningController } from '../interfaces/index.js'; import { DatePickerHost } from '../interfaces/base-controller.interface.js'; /** * Positioning controller for datepicker calendar * Handles calendar positioning, opening, closing, and click outside detection */ export declare class DatePickerPositioningController implements PositioningController, ReactiveController { readonly host: ReactiveControllerHost & DatePickerHost; private isCalendarOpen; private clickOutsideHandler?; private scrollHandler?; constructor(host: ReactiveControllerHost & DatePickerHost); hostConnected(): void; hostDisconnected(): void; /** * Setup global event listeners */ private setupEventListeners; /** * Cleanup global event listeners */ private cleanupEventListeners; /** * Position the calendar relative to the input */ positionCalendar(): Promise; /** * Update calendar position */ updatePosition(): void; /** * Calculate optimal position for calendar */ calculateOptimalPosition(): { top: number; left: number; placement: string; }; /** * Check if there's space below the input */ hasSpaceBelow(): boolean; /** * Check if there's space above the input */ hasSpaceAbove(): boolean; /** * Open the calendar */ openCalendar(): void; /** * Close the calendar */ closeCalendar(): void; /** * Toggle calendar open/close state */ toggleCalendar(): void; /** * Handle click outside calendar */ handleClickOutside(event: MouseEvent): void; /** * Handle scroll events */ handleScroll(): void; /** * Check if calendar is currently open */ get isOpen(): boolean; /** * Handle errors that occur within the controller */ handleError(error: Error, context: string): void; } //# sourceMappingURL=positioning.controller.d.ts.map