import React, { useCallback, useState } from "react"; import styled from "styled-components/macro"; import Popover, { PopoverProps } from "../Popover"; const TooltipContainer = styled.div` width: 256px; padding: 0.6rem 1rem; font-weight: 400; word-break: break-word; `; interface TooltipProps extends Omit { text: string; } interface TooltipContentProps extends Omit { content: React.ReactNode; } export default function Tooltip({ text, ...rest }: TooltipProps) { return ( {text}} {...rest} /> ); } export function TooltipContent({ content, ...rest }: TooltipContentProps) { return ( {content}} {...rest} /> ); } export function MouseoverTooltip({ children, ...rest }: Omit) { const [show, setShow] = useState(false); const open = useCallback(() => setShow(true), [setShow]); const close = useCallback(() => setShow(false), [setShow]); return (
{children}
); } export function MouseoverTooltipContent({ content, children, ...rest }: Omit) { const [show, setShow] = useState(false); const open = useCallback(() => setShow(true), [setShow]); const close = useCallback(() => setShow(false), [setShow]); return (
{children}
); }