DocSpace-client/packages/shared/components/tooltip
2024-04-26 16:24:23 +05:00
..
index.tsx Replaced copyright start year + format 2024-03-21 18:09:55 +04:00
README.md Client: fix after rewrite to typescript 2023-12-27 17:45:22 +03:00
Tooltip.constants.ts Replaced copyright start year + format 2024-03-21 18:09:55 +04:00
Tooltip.mdx Replaced copyright start year + format 2024-03-21 18:09:55 +04:00
tooltip.stories.tsx Web: Shared: Components: hide copyright 2024-03-25 13:19:22 +05:00
Tooltip.styled.ts Fix Bug 67713 - Empty tooltip in the upper left corner when clicking the Password field on the login page 2024-04-26 16:24:23 +05:00
tooltip.test.tsx Replaced copyright start year + format 2024-03-21 18:09:55 +04:00
Tooltip.tsx Fix Bug 67713 - Empty tooltip in the upper left corner when clicking the Password field on the login page 2024-04-26 16:24:23 +05:00
Tooltip.types.ts Replaced copyright start year + format 2024-03-21 18:09:55 +04:00

Tooltip

Custom tooltip

See documentation: https://github.com/wwayne/react-tooltip

Usage with IconButton

import {Tooltip, IconButton, Text} from "@docspace/shared/components";
import QuestionReactSvgUrl from 'PUBLIC_DIR/images/question.react.svg?url";
  <div
    style={BodyStyle}
    data-for="tooltipContent"
    data-tip="You tooltip content"
    data-event="click focus"
    data-offset="{'top': 100, 'right': 100}"
    data-place="top"
  >
    <IconButton isClickable={true} size={20} iconName={QuestionReactSvgUrl} />
  </div>
  <Tooltip
    id="tooltipContent"
    getContent={dataTip => <Text fontSize='13px'>{dataTip}</Text>}
    effect="float"
    place="top"
    maxWidth={320}
  />

Usage with array

import { Tooltip, Link, Text } from "@docspace/shared/components";
const arrayUsers = [
  { key: "user_1", name: "Bob", email: "Bob@gmail.com", position: "developer" },
  {
    key: "user_2",
    name: "John",
    email: "John@gmail.com",
    position: "developer",
  },
  {
    key: "user_3",
    name: "Kevin",
    email: "Kevin@gmail.com",
    position: "developer",
  },
  {
    key: "user_4",
    name: "Alex",
    email: "Alex@gmail.com",
    position: "developer",
  },
  {
    key: "user_5",
    name: "Tomas",
    email: "Tomas@gmail.com",
    position: "developer",
  },
];
  <h5 style={{ marginLeft: -5 }}>Hover group</h5>
  <Link data-for="group" data-tip={0}>Bob</Link><br />
  <Link data-for="group" data-tip={1}>John</Link><br />
  <Link data-for="group" data-tip={2}>Kevin</Link><br />
  <Link data-for="group" data-tip={3}>Alex</Link><br />
  <Link data-for="group" data-tip={4}>Tomas</Link>
<Tooltip
  id="group"
  offsetRight={90}
  getContent={(dataTip) =>
    dataTip ? (
      <div>
        <Text isBold={true} fontSize="16px">
          {arrayUsers[dataTip].name}
        </Text>
        <Text color="#A3A9AE" fontSize="13px">
          {arrayUsers[dataTip].email}
        </Text>
        <Text fontSize="13px">{arrayUsers[dataTip].position}</Text>
      </div>
    ) : null
  }
/>

YouComponent Properties

Props Type Required Values Default Description
data-event string - click, focus - Custom event to trigger tooltip
data-for string - - Corresponds to the id of Tooltip
data-offset string - top, left, right, bottom - Offset of current tooltip
data-place string - top, right, bottom, left - Tooltip placement
data-tip string - - - Required if you need to component

ReactTooltip Properties

Props Type Required Values Default Description
className string - - - Accepts class
effect string - float, solid float Behavior of tooltip
getContent func - - Generate the tip content dynamically
id string - - Used as HTML id property
maxWidth number - - 340 Set max width of tooltip
offsetBottom number - - - Offset bottom all tooltips on page
offsetLeft number - - - Offset left all tooltips on page
offsetRight number - - - Offset right all tooltips on page
offsetTop number - - - Offset top all tooltips on page
place string - top, right, bottom, left top Global tooltip placement
style obj, array - - - Accepts css style