/** * * Copyright (c) "Neo4j" * Neo4j Sweden AB [http://neo4j.com] * * This file is part of Neo4j. * * Neo4j is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ import { type FloatingFocusManagerProps, type OffsetOptions, type Placement, useFloating, type UseInteractionsReturn } from '@floating-ui/react'; export interface PopoverOptions { isInitialOpen?: boolean; placement?: Placement; isOpen?: boolean; onOpenChange?: (open: boolean, event?: Event) => void; offsetOption?: OffsetOptions; anchorElement?: Element | null; anchorPosition?: { x: number; y: number; }; anchorElementAsPortalAnchor?: boolean; shouldCaptureFocus?: boolean; initialFocus?: number | React.RefObject; role?: 'tooltip' | 'dialog' | 'alertdialog' | 'menu' | 'listbox' | 'grid' | 'tree'; closeOnClickOutside?: boolean; closeOnReferencePress?: boolean; returnFocus?: FloatingFocusManagerProps['returnFocus']; strategy?: 'fixed' | 'absolute'; isPortaled?: boolean; } export interface UsePopoverReturn extends UseInteractionsReturn, ReturnType { isOpen: boolean; labelId: string | undefined; descriptionId: string | undefined; transitionStyles: React.CSSProperties; setLabelId: (labelId: string | undefined) => void; setDescriptionId: (descriptionId: string | undefined) => void; anchorElementAsPortalAnchor: boolean | undefined; shouldCaptureFocus: boolean | undefined; initialFocus: number | React.RefObject | undefined; isPortaled: boolean; returnFocus: FloatingFocusManagerProps['returnFocus']; } export declare function usePopover({ isInitialOpen, placement, isOpen: controlledOpen, onOpenChange: setControlledOpen, offsetOption, anchorElement, anchorPosition, anchorElementAsPortalAnchor, shouldCaptureFocus, initialFocus, role: roleProp, closeOnClickOutside, closeOnReferencePress, returnFocus, strategy, isPortaled, }?: PopoverOptions): UsePopoverReturn; //# sourceMappingURL=use-popover.d.ts.map