import { Boundary as PopperBoundary , Modifiers as PopperModifiers , Placement } from "popper.js" ; import { Position } from "../../common/position" ; import { Props } from "../../common/props" ; import { OverlayableProps } from "../overlay/overlay" ; export { PopperBoundary , PopperModifiers } ; /** `Position` with `"auto"` values, used by `Popover` and `Tooltip`. */ export const PopoverPosition = { ... Position , AUTO : "auto" as "auto" , AUTO_END : "auto-end" as "auto-end" , AUTO_START : "auto-start" as "auto-start" , } ; export type PopoverPosition = typeof PopoverPosition [ keyof typeof PopoverPosition ] ; /** Props shared between `Popover` and `Tooltip`. */ export interface IPopoverSharedProps extends OverlayableProps , Props { default boundary ? : PopperBoundary ; see http default captureDismiss ? : boolean ; default defaultIsOpen ? : boolean ; default disabled ? : boolean ; default hoverCloseDelay ? : number ; default hoverOpenDelay ? : number ; default inheritDarkTheme ? : boolean ; default isOpen ? : boolean ; default minimal ? : boolean ; /**
     * Popper modifier options, passed directly to internal Popper instance. See
     * https://popper.js.org/docs/modifiers/ for complete
     * details.
     */ modifiers ? : PopperModifiers ; /**
     * Callback invoked in controlled mode when the popover open state *would*
     * change due to user interaction.
     */ onInteraction ? : ( nextOpenState : boolean , e ? : React . SyntheticEvent < HTMLElement > ) => void ; default openOnTargetFocus ? : boolean ; see https default placement ? : Placement ; /**
     * A space-delimited string of class names applied to the popover element.
     */ popoverClassName ? : string ; default position ? : PopoverPosition ; /**
     * Space-delimited string of class names applied to the target element.
     */ targetClassName ? : string ; /**
     * HTML props to spread to target element. Use `targetTagName` to change
     * the type of element rendered. Note that `ref` is not supported.
     */ targetProps ? : React . HTMLAttributes < HTMLElement > ; default targetTagName ? : keyof JSX . IntrinsicElements ; default usePortal ? : boolean ; default wrapperTagName ? : keyof JSX . IntrinsicElements ; }