export type UiTooltipSides = 'top' | 'right' | 'bottom' | 'left';
export type UiTooltipAlign = 'start' | 'center' | 'end';

/**
 * A popup that displays information on hover or focus. Use for
 * explaining icons, providing hints, or showing additional context.
 * @category Overlays
 * @useCases icon explanation, help text, additional info, hints
 * @keywords tooltip, hint, hover, popup, info, help, explanation
 * @related UiPopover
 */
export interface UiTooltipProps {
  /**
   * The text content to display in the tooltip.
   */
  content: string;

  /**
   * The side of the trigger where the tooltip should appear.
   * @default 'top'
   */
  side?: UiTooltipSides;

  /**
   * The distance in pixels from the trigger.
   * @default 4
   */
  sideOffset?: number;

  /**
   * The preferred alignment against the trigger.
   * @default 'center'
   */
  align?: UiTooltipAlign;

  /**
   * Additional CSS classes to apply to the tooltip content.
   */
  class?: string;

  /**
   * The duration from when the pointer enters the trigger until the tooltip opens.
   * @default 500
   */
  delayDuration?: number;

  /**
   * Prevents the tooltip from opening.
   * @default false
   */
  disabled?: boolean;
}
