export type $Placement = 'bottom' | 'center' | 'left' | 'right' | 'top';

export type $bubbleLocation = {
  /** 弹出bubble的动画名称 */
  transition: string;
  /** 是浏览器窗口否足够bubble显示, true:足够显示; false:不足够(改用ElDialog方式显示) */
  enoughShow: boolean;
  /** bubble弹出框右上角的Y轴坐标 */
  bubbleTop: string;
  /** bubble弹出框右上角的X轴坐标 */
  bubbleLeft: string;
  /** bubble弹出框箭头的Y轴坐标 */
  arrowsTop: string;
  /** bubble弹出框箭头的X轴坐标 */
  arrowsLeft: string;
  /** bubble弹出框箭头方向 */
  arrowsOrientation: $Placement;
};

export type $baseData = $bubbleLocation & {
  /** 触发弹出框的元素 */
  target: $BubbleHTMLElement | undefined;
  /** bubble弹出框箭头的大小 */
  arrowsSize: number;
  /** 是否销毁bubble */
  bubbleDestroy: boolean;
  /** 是否销毁bubble的延迟时间 */
  bubbleDestroyTimeout: NodeJS.Timeout | undefined;
};
