import { AvoidElement, OffsetXY, Placement } from '../../hooks/useFloatingPosition'; import { MenuHandle } from './useMenuControl'; interface MenuFloatingProps { triggerRef: React.RefObject; anchorRef?: React.RefObject; placement?: Placement; offset?: number | OffsetXY; matchTriggerWidth?: boolean; attachToParent?: boolean; closeOnScroll?: boolean; closeOnClickOutside?: boolean; zIndex?: number; avoidElements?: AvoidElement[]; /** * Con teclado virtual, si el ancla no queda usable (tapa/queda detrás del * teclado), scrollea el contenedor lo mínimo para acomodarla. Pensado para * Select/Menu list en mobile. */ scrollTriggerWhenCovered?: boolean; /** * Autofocus del primer elemento focuseable al abrir. Default `true`. * Pasar `false` cuando el consumidor es dueño de su propio foco * (p. ej. Select enfoca el search input explícitamente). */ autoFocus?: boolean; onClose?: () => void; onOpen?: (context?: TContext) => void; children: React.ReactNode; className?: string; } type MenuFloatingComponent = { (props: MenuFloatingProps & { ref?: React.ForwardedRef | null>; }): React.ReactElement | null; }; declare const MenuFloating: MenuFloatingComponent; export { MenuFloating }; export type { MenuFloatingProps };