All files InfotipContent.jsx

100% Statements 7/7
100% Branches 0/0
100% Functions 1/1
100% Lines 7/7

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47                  1x 1x   1x 16x   16x               16x                                 1x            
import React from "react";
import PropTypes from "prop-types";
import {
  Tooltip as TooltipAriaKit,
  TooltipAnchor,
  TooltipArrow,
  useTooltipState,
} from "ariakit/tooltip";
 
const TEXT_COLOR = "#FFF";
const BACKGROUND_COLOR = "#333";
 
const InfotipContent = ({ children, label }) => {
  const tooltip = useTooltipState();
 
  const cssStyles = {
    maxWidth: "300px",
    padding: "8px",
    borderRadius: "4px",
    fontSize: "0.9rem",
    backgroundColor: BACKGROUND_COLOR,
    color: TEXT_COLOR,
  };
  return (
    <>
      <TooltipAnchor as={"span"} state={tooltip} className="tooltip-anchor">
        {children}
      </TooltipAnchor>
      <TooltipAriaKit
        state={tooltip}
        className="tooltip-content"
        style={cssStyles}
      >
        {label}
        <TooltipArrow />
      </TooltipAriaKit>
    </>
  );
};
 
InfotipContent.propTypes = {
  children: PropTypes.node.isRequired,
  label: PropTypes.node.isRequired,
};
 
export default InfotipContent;