@atlaskit/tooltip
Version:
A tooltip briefly describes an interactive element on mouse hover or keyboard focus.
50 lines (49 loc) • 2.04 kB
JavaScript
/* tooltip-primitive.tsx generated by @compiled/babel-plugin v3.0.2 */
import "./tooltip-primitive.compiled.css";
import * as React from 'react';
import { ax, ix } from "@compiled/react/runtime";
import { forwardRef } from 'react';
import { DefaultRoleContext, useDefaultRole } from './internal/default-role-context';
import { TooltipShortcut } from './tooltip-shortcut';
var primitiveStyles = null;
/**
* The lower level component for rendering a tooltip.
*/
var TooltipPrimitive = /*#__PURE__*/forwardRef(function TooltipPrimitive(_ref, ref) {
var _ref2;
var style = _ref.style,
className = _ref.className,
children = _ref.children,
placement = _ref.placement,
testId = _ref.testId,
onMouseOut = _ref.onMouseOut,
onMouseOver = _ref.onMouseOver,
id = _ref.id,
shortcut = _ref.shortcut,
role = _ref.role;
var defaultRole = useDefaultRole();
return /*#__PURE__*/React.createElement("div", {
ref: ref,
style: style,
"data-testid": testId ? "".concat(testId, "--wrapper") : undefined
}, /*#__PURE__*/React.createElement("div", {
role: (_ref2 = role !== null && role !== void 0 ? role : defaultRole) !== null && _ref2 !== void 0 ? _ref2 : 'tooltip'
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
,
className: ax(["_80om73ad", className])
// Because the tooltip should not be focusable, there is no reason to have key events.
/* eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events */,
onMouseOut: onMouseOut
/* eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events */,
onMouseOver: onMouseOver,
"data-placement": placement,
"data-testid": testId,
id: id
}, /*#__PURE__*/React.createElement(DefaultRoleContext.Provider, {
value: undefined
}, children), shortcut && /*#__PURE__*/React.createElement(TooltipShortcut, {
shortcut: shortcut
})));
});
TooltipPrimitive.displayName = 'TooltipPrimitive';
export default TooltipPrimitive;