
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
@leafygreen-ui/tooltip
Advanced tools
pnpm add @leafygreen-ui/tooltip
yarn add @leafygreen-ui/tooltip
npm install @leafygreen-ui/tooltip
import Tooltip from '@leafygreen-ui/tooltip';
<Tooltip
align="top"
justify="start"
trigger={<button>trigger</button>}
triggerEvent="hover"
darkMode={true}
>
I am an uncontrolled Tooltip!
</Tooltip>;
| Prop | Type | Description | Default |
|---|---|---|---|
open | boolean | Controls the component, and determines whether or not the <Tooltip /> will appear open or closed. | false |
setOpen | function | If controlling the component, pass state handling function to setOpen prop. This will keep the consuming application's state in-sync with LeafyGreen's state, while the <Tooltip /> component responds to events such as backdrop clicks and a user pressing the Escape key. | (boolean) => boolean |
initialOpen | boolean | Passes an initial "open" value to an uncontrolled Tooltip. | false |
shouldClose | function | Callback that should return a boolean that determines whether or not the <Tooltip /> should close when a user tries to close it. | () => true |
align | 'top', 'bottom', 'left', 'right' | Determines the preferred alignment of the <Tooltip /> component relative to the element passed to the trigger prop. If no trigger is passed, the Tooltip will be positioned against its nearest parent element. | 'top' |
justify | 'start', 'middle', 'end' | Determines the preferred justification of the <Tooltip /> component (based on the alignment) relative to the element passed to the trigger prop. If no trigger is passed, the Tooltip will be positioned against its nearest parent element. | 'start' |
trigger | function, React.ReactNode | A React.ReactNode against which the <Tooltip /> will be positioned, and what will be used to trigger the opening and closing of the Tooltip component, when the Tooltip is uncontrolled. If no trigger is passed, the Tooltip will be positioned against its nearest parent element. If using a ReactNode or inline function, trigger signature is: ({children, ...rest}) => (<button {...rest}>trigger {children}). When using a function, you must pass children as an argument in order for the tooltip to render. | |
triggerEvent | 'hover', 'click' | DOM event that triggers opening/closing of <Tooltip /> component | 'hover' |
darkMode | boolean | Determines if the <Tooltip /> will appear in dark mode. | false |
id | string | id applied to <Tooltip /> component | |
className | string | Applies a className to Tooltip container | |
children | node | Content that will be rendered inside of <Tooltip /> | |
enabled | boolean | Enables Tooltip to trigger based on the event specified by triggerEvent. | true |
onClose | function | Callback that is called when the tooltip is closed internally. E.g. on ESC press, on backdrop click, on blur.. | () => {} |
renderMode | 'inline' | 'portal' | 'top-layer' | Options to render the popover element * [deprecated] 'inline' will render the popover element inline in the DOM where it's written * [deprecated] 'portal' will render the popover element in a new div appended to the body. Alternatively, can be portaled into a provided portalContainer * 'top-layer' will render the popover element in the top layer | 'top-layer' |
portalContainer | HTMLElement | null | Sets the container used for the popover's portal. NOTE: If using a scrollContainer make sure that the portalContainer is contained within the scrollContainer. E.g, passing the same refrence to scrollContainer and portalContainer. | |
scrollContainer | HTMLElement | null | If the popover portal has a scrollable ancestor other than the window, this prop allows passing a reference to that lement to allow the portal to position properly. | |
portalClassName | string | Passes the given className to the popover's portal container if the default portal container is being used. | |
popoverZIndex | number | Sets the z-index CSS property for the popover. | |
baseFontSize | 13 | 16 | font-size applied to typography element | default to value set by LeafyGreen Provider |
| ... | native div attributes | Any other props will be spread on the root div element |
When defining a tooltip trigger as a separate element, ensure the refEl is defined on the <Tooltip> element, and use the useTooltipTriggerEventHandlers hook to create tooltip event handlers.
const triggerRef = useRef();
const [open, setOpen] = useState(false);
const tooltipEventHandlers = useTooltipTriggerEventHandlers({
triggerEvent: TriggerEvent.Hover,
setState: setOpen,
onFocus: e => {
console.log(e);
}, // side effects called on focus of the trigger
});
return (
<>
<Button ref={triggerRef} {...tooltipEventHandlers}>
Button
</Button>
<Tooltip refEl={triggerRef} open={open} setOpen={setOpen}>
Content
</Tooltip>
</>
);
FAQs
LeafyGreen UI Kit Tooltip
The npm package @leafygreen-ui/tooltip receives a total of 68,738 weekly downloads. As such, @leafygreen-ui/tooltip popularity was classified as popular.
We found that @leafygreen-ui/tooltip demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.