<!-- API Report Version: 2.3 -->

## API Report File for "@atlaskit/tooltip"

> Do not edit this file. This report is auto-generated using
> [API Extractor](https://api-extractor.com/).
> [Learn more about API reports](https://hello.atlassian.net/wiki/spaces/UR/pages/1825484529/Package+API+Reports)

### Table of contents

- [Main Entry Types](#main-entry-types)
- [Peer Dependencies](#peer-dependencies)

### Main Entry Types

<!--SECTION START: Main Entry Types-->

```ts
import { ComponentType } from 'react';
import { CSSProperties } from 'react';
import { ForwardRefExoticComponent } from 'react';
import { jsx } from '@emotion/react';
import { Placement } from '@atlaskit/popper';
import { ReactNode } from 'react';
import { RefAttributes } from 'react';
import { UIAnalyticsEvent } from '@atlaskit/analytics-next';

// @public (undocumented)
export type PositionType = 'mouse' | PositionTypeBase;

// @public (undocumented)
type PositionTypeBase = Placement;

// @public (undocumented)
function Tooltip({
	children,
	position,
	mousePosition,
	content,
	truncate,
	component: Container,
	tag: TargetContainer,
	testId,
	delay,
	onShow,
	onHide,
	hideTooltipOnClick,
	hideTooltipOnMouseDown,
	analyticsContext,
	strategy,
}: TooltipProps): jsx.JSX.Element;

// @public (undocumented)
namespace Tooltip {
	var // (undocumented)
		displayName: string;
}
export default Tooltip;

// @public (undocumented)
export const TooltipPrimitive: ForwardRefExoticComponent<
	Pick<
		TooltipPrimitiveProps,
		| 'children'
		| 'className'
		| 'id'
		| 'onMouseOut'
		| 'onMouseOver'
		| 'placement'
		| 'style'
		| 'testId'
		| 'truncate'
	> &
		RefAttributes<HTMLDivElement>
>;

// @public (undocumented)
export interface TooltipPrimitiveProps {
	// (undocumented)
	children: ReactNode;
	// (undocumented)
	className?: string;
	// (undocumented)
	id?: string;
	// (undocumented)
	onMouseOut?: (e: React.MouseEvent<HTMLElement>) => void;
	// (undocumented)
	onMouseOver?: (e: React.MouseEvent<HTMLElement>) => void;
	// (undocumented)
	placement: PositionType;
	// (undocumented)
	ref: React.Ref<any>;
	// (undocumented)
	style?: CSSProperties;
	// (undocumented)
	testId?: string;
	// (undocumented)
	truncate?: boolean;
}

// @public (undocumented)
export interface TooltipProps {
	analyticsContext?: Record<string, any>;
	children: ((props: TriggerProps) => ReactNode) | ReactNode;
	component?: ComponentType<TooltipPrimitiveProps>;
	content: (({ update }: { update: () => void }) => ReactNode) | ReactNode;
	delay?: number;
	hideTooltipOnClick?: boolean;
	hideTooltipOnMouseDown?: boolean;
	mousePosition?: PositionTypeBase;
	onHide?: (analyticsEvent: UIAnalyticsEvent) => void;
	onShow?: (analyticsEvent: UIAnalyticsEvent) => void;
	position?: PositionType;
	strategy?: 'absolute' | 'fixed' | undefined;
	tag?:
		| React.ComponentType<
				React.AllHTMLAttributes<HTMLElement> & {
					ref: React.Ref<HTMLElement>;
				}
		  >
		| keyof JSX.IntrinsicElements;
	testId?: string;
	truncate?: boolean;
}

// @public (undocumented)
interface TriggerProps {
	// (undocumented)
	'aria-describedby'?: string | undefined;
	// (undocumented)
	onBlur: (event: React.FocusEvent<HTMLElement>) => void;
	// (undocumented)
	onClick: (event: React.MouseEvent<HTMLElement>) => void;
	// (undocumented)
	onFocus: (event: React.FocusEvent<HTMLElement>) => void;
	// (undocumented)
	onMouseDown: (event: React.MouseEvent<HTMLElement>) => void;
	// (undocumented)
	onMouseMove: ((event: React.MouseEvent<HTMLElement>) => void) | undefined;
	// (undocumented)
	onMouseOut: (event: React.MouseEvent<HTMLElement>) => void;
	// (undocumented)
	onMouseOver: (event: React.MouseEvent<HTMLElement>) => void;
	// (undocumented)
	ref: (node: HTMLElement | null) => void;
}

// (No @packageDocumentation comment for this package)
```

<!--SECTION END: Main Entry Types-->

### Peer Dependencies

<!--SECTION START: Peer Dependencies-->

```json
{
	"react": "^16.8.0",
	"react-dom": "^16.8.0"
}
```

<!--SECTION END: Peer Dependencies-->
