import * as React from 'react'; import { FormattedMessage } from 'react-intl'; import classNames from 'classnames'; import Tooltip, { TooltipTheme } from '../tooltip'; import Button from '../button'; // @ts-ignore flow import import messages from './messages'; import './GuideTooltip.scss'; type TooltipProps = Omit, 'text' | 'theme'>; type Props = TooltipProps & { body: React.ReactNode; title?: React.ReactNode; /** 32px x 32px */ icon?: React.ReactNode; /** displays guide progress e.g. 1 of 4 */ steps?: [number, number]; primaryButtonProps?: JSX.LibraryManagedAttributes; secondaryButtonProps?: JSX.LibraryManagedAttributes; }; function GuideTooltip({ body, children, className = '', icon, isShown = true, primaryButtonProps, steps, secondaryButtonProps, showCloseButton = true, title, ...rest }: Props) { return ( {icon &&
{icon}
}
{title &&
{title}
}
{body}
{(secondaryButtonProps || primaryButtonProps || steps) && (
{(secondaryButtonProps || primaryButtonProps) && (
{secondaryButtonProps && (
)} {steps && (
)}
)}
} theme={TooltipTheme.CALLOUT} > {children}
); } export default GuideTooltip;