import { type ReactElement } from "react"; import { type DialogAnimationType, type DialogMiddleware, type DialogTriggerEvent } from "@vibe/dialog"; import { type TipseenCloseButtonTheme, type TipseenColor } from "./Tipseen.types"; import { type ElementContent, type VibeComponentProps } from "../../types"; import { type MoveBy } from "../../types/MoveBy"; import React from "react"; import { type TooltipPositions } from "@vibe/tooltip"; export interface TipseenProps extends VibeComponentProps { /** * Class name applied to the Tipseen title. */ titleClassName?: string; /** * The position of the Tipseen relative to the target element. */ position?: TooltipPositions; /** * The animation type used for showing/hiding the Tipseen. */ animationType?: DialogAnimationType; /** * The delay in milliseconds before hiding the Tipseen. */ hideDelay?: number; /** * The delay in milliseconds before showing the Tipseen. */ showDelay?: number; /** * The title text of the Tipseen. */ title?: string; /** * If true, hides the close button. */ hideCloseButton?: boolean; /** * The child element that triggers the Tipseen. */ children?: ReactElement; /** * The CSS selector of the container where the Tipseen should be rendered. */ containerSelector?: string; /** * Events that trigger hiding the Tipseen. */ hideTrigger?: DialogTriggerEvent | Array; /** * Events that trigger showing the Tipseen. */ showTrigger?: DialogTriggerEvent | Array; /** * The width of the Tipseen. */ width?: number; /** * Offset values for positioning adjustments. */ moveBy?: MoveBy; /** * If true, hides the Tipseen when the reference element is hidden. */ hideWhenReferenceHidden?: boolean; /** * Custom Floating UI middleware for positioning logic. * @see https://floating-ui.com/docs/middleware */ middleware?: DialogMiddleware[]; /** * Class name applied to the reference wrapper element. */ referenceWrapperClassName?: string; /** * If false, hides the arrow of the Tipseen. */ tip?: boolean; /** * Class name applied to the Tipseen arrow. */ tooltipArrowClassName?: string; /** * The aria-label for the close button. */ closeAriaLabel?: string; /** * Callback fired when the Tipseen is closed. */ onClose?: (event?: React.MouseEvent) => void; /** * The content displayed inside the Tipseen. */ content: ElementContent; /** * The theme of the Tipseen close button. */ closeButtonTheme?: TipseenCloseButtonTheme; /** * If true, renders the Tipseen as a floating element without a reference. */ floating?: boolean; /** * The color theme of the Tipseen. */ color?: TipseenColor; } export declare const TipseenContext: React.Context; declare const Tipseen: React.ForwardRefExoticComponent>; export default Tipseen;