/** * AdvancedFilter用の座標計算ユーティリティ * * メニューとConfigPanelの位置計算ロジックを一元管理し、 * 複雑な座標計算を抽象化する。 */ import { AppliedFilter } from "../types"; export type Coordinates = { x: number; y: number; }; export type MenuPosition = { position: number; coordinates: Coordinates; }; /** * フィルターメニューの位置を計算する */ export declare class FilterPositionCalculator { /** * メニューの表示位置を計算 */ static calculateMenuPosition(): number; /** * ビューポート境界を考慮した安全な位置を計算 */ private static calculateSafePosition; /** * ConfigPanelの座標を計算(AppliedFilter 用。後方互換) */ static calculateConfigPanelPosition(filter: AppliedFilter, appliedFilters: AppliedFilter[], triggerRef: React.RefObject): MenuPosition; /** * ConfigPanelの座標を計算(slotId ベース。presetSlots モード用) */ static calculateConfigPanelPositionBySlotId(slotId: string, slotIndex: number, triggerRef: React.RefObject): MenuPosition; /** * 実際のDOM要素から座標を計算 */ private static calculateFromActualElements; /** * トリガー要素から推定座標を計算 */ private static calculateFromTrigger; /** * フォールバック座標を取得 */ private static getFallbackPosition; /** * メニュー要素から座標を保存 */ static getSavedCoordinates(): Coordinates | null; }