// @flow import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import classNames from 'classnames'; import Tooltip from '../tooltip'; import Button from '../button'; import messages from './messages'; import './GuideTooltip.scss'; type TooltipProps = $Diff< React.ElementConfig, {| text: any, theme: any, |}, >; type Props = {| ...$Exact, body: React.Node, icon?: React.Node, image?: React.Node, primaryButtonProps?: React.ElementConfig, secondaryButtonProps?: React.ElementConfig, steps?: [number, number], title?: React.Node, |}; function GuideTooltip({ body, children, className = '', icon, image, isShown = true, primaryButtonProps, steps, secondaryButtonProps, showCloseButton = true, title, ...rest }: Props) { return ( {icon &&
{icon}
}
{title &&
{title}
} {!icon && image &&
{image}
}
{body}
{(secondaryButtonProps || primaryButtonProps || steps) && (
{(secondaryButtonProps || primaryButtonProps) && (
{secondaryButtonProps && (
)} {steps && (
)}
)}
} theme="callout" > {children}
); } export default GuideTooltip;