docs: add and use react-tooltip (#3176)

* chore: add react-tooltip package into docs

* chore: add react-tooltip styles globally into Layout

* chore: use react-tooltip component into docs

* fixes to the CSS

---------

Co-authored-by: Shahed Nasser <shahednasser@gmail.com>
This commit is contained in:
Daniel Barion
2023-02-06 06:33:11 -03:00
committed by GitHub
parent 63d61e31a9
commit a3acf24f01
4 changed files with 65 additions and 54 deletions

View File

@@ -1,20 +1,27 @@
import React from 'react';
import React, { useState, useEffect } from "react"
import { Tooltip as ReactTooltip } from "react-tooltip"
import uuid from "react-uuid"
import "react-tooltip/dist/react-tooltip.css"
export default function Tooltip ({ children, text, tooltipClassName, ...rest }) {
const [show, setShow] = React.useState(false);
export default function Tooltip({ children, text, tooltipClassName }) {
const [elementId, setElementId] = useState(null)
useEffect(() => {
if (!elementId) {
setElementId(uuid())
}
}, [elementId])
return (
<span className={`tooltip-container ${tooltipClassName || ''}`}>
<span className={show ? 'tooltip-box visible' : 'tooltip-box'}>
{text}
</span>
<span
onMouseEnter={() => setShow(true)}
onMouseLeave={() => setShow(false)}
{...rest}
>
<>
<span id={elementId} data-tooltip-content={text}>
{children}
</span>
</span>
);
};
<ReactTooltip
anchorId={elementId}
className={tooltipClassName}
wrapper="span"
/>
</>
)
}