1.0.0 • Published 12 months ago

@element-public/react-tooltip v1.0.0

Weekly downloads
-
License
ISC
Repository
github
Last release
12 months ago

Tooltip

Description

Tooltip adds additional context about a component. To trigger the tooltip content, hover or focus on the child component such as a button or an icon that is passed into the tooltip component.

See live demos on storybook

Storybook Tooltip Demos

Install bundle from npm-e

npm i @element-public/react-components @element-public/themes

Optional: install the component individually

npm i @element-public/react-tooltip @element-public/themes

Open ~/.npmrc in an editor and add the following line to enable the @element-public scope:

@element-public:registry=https://npm.platforms.engineering

Troubleshooting

See below if you have never installed a package from Bayer's npm-enterprise or run into the following error:

npm ERR! code E401
npm ERR! Unable to authenticate, your authentication token seems to be invalid.
npm ERR! To correct this please trying logging in again with:
npm ERR!     npm login

Setup an access token

See the devtools npm-e guide to learn how to create an access token if this is the first time you are using a npm-e package at Bayer or you do not have a line that starts with the following in your ~/.npmrc file:

//npm.platforms.engineering/:_authToken=

Notes

Tooltip is a function that can be applied to components to showcase a description of that component. Hovering over the component that has Tooltip applied to it will activate the description and shows it on the screen. Tooltip allows any length of text, but it should preferably be used for short descriptive text.

Usage

Tooltip is used normally for componenets that may require more clarification. It can be applied to Icons or other components and also has multiple position options being; left, right, top, or bottom (default). The short description will appear according to the value of the position prop.

Tooltip Props

NameTypeDefaultRequiredDescription
classNamestringundefinedfalseThe css class name to be passed through to the component markup.
containerTypestring'inline'falseContainer display type, inline or block.Accepted Values: inline, block
hoistedbooleanfalsefalseWhether or not the tooltip is hoisted to render outside of the parent element. Useful for when the tooltip needs to render in a parent with overflow: hidden ie. a table cell.
idstringundefinedfalseRandomly generated id. May be overwritten.
portalContainerstring|React.ReactNode'document.body'falseThe DOM element the children will render in. If a string is sent it should be a valid DOM query selector. If one is not sent, Portal will default to document.body.
positionstring'bottom'falsePosition of tooltip. Options include: 'top', 'left', 'right', and 'bottom'(default). Accepted Values: bottom, top, left, right
textstring|function|React.ReactNodenulltruestring
tooltipPropsobjectnullfalseCustom properties to apply to the hovering element.
triggerPropsobjectnullfalseCustom properties to apply to the trigger element.

Tooltip Render Props

NameTypeDefaultRequiredDescription
childrenReact.ReactNodeundefinedtrueAccepts any valid markup. This will be rendered before any value set with the text prop. For most use-cases use text.

Tooltip Events

NameDefaultRequiredParamsDescription
onClickundefinedfalseFired when the trigger is interacted with.

Tooltip Breaking Changes

Description
Tooltip: Custom props have been moved to the root markup element instead of the hover element. To add custom properties specifically to the hover element, please use tooltipProps.

Tooltip Text Props

NameTypeDefaultRequiredDescription
classNamestringundefinedfalseThe css class name to be passed through to the component markup.
hoistedbooleanfalsefalseWhether or not the tooltip is hoisted to render outside of the parent element. Useful for when the tooltip needs to render in a parent with overflow: hidden ie. a table cell.
idstringundefinedfalseRandomly generated id. May be overwritten.
portalContainerstring|React.ReactNode'document.body'falseThe DOM element the children will render in. If a string is sent it should be a valid DOM query selector. If one is not sent, Portal will default to document.body.
textstring|function|React.ReactNodenulltrueThe text to be rendered inside of the Tooltip.