From cc04a08657fddda1284c289a996248ba5cbd0f2d Mon Sep 17 00:00:00 2001 From: Bruno Date: Thu, 16 Jun 2022 17:20:12 +0000 Subject: [PATCH 1/2] feat: Show help tooltip on hover --- .../components/HelpTooltip/HelpTooltip.tsx | 36 ++++++++++++++----- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/site/src/components/HelpTooltip/HelpTooltip.tsx b/site/src/components/HelpTooltip/HelpTooltip.tsx index 1ed96af999871..240e301fe9dba 100644 --- a/site/src/components/HelpTooltip/HelpTooltip.tsx +++ b/site/src/components/HelpTooltip/HelpTooltip.tsx @@ -3,7 +3,7 @@ import Popover from "@material-ui/core/Popover" import { makeStyles } from "@material-ui/core/styles" import HelpIcon from "@material-ui/icons/HelpOutline" import OpenInNewIcon from "@material-ui/icons/OpenInNew" -import React, { createContext, useContext, useState } from "react" +import React, { createContext, useContext, useRef, useState } from "react" import { Stack } from "../Stack/Stack" type Icon = typeof HelpIcon @@ -29,31 +29,36 @@ const useHelpTooltip = () => { export const HelpTooltip: React.FC = ({ children, open, size = "medium" }) => { const styles = useStyles({ size }) - const [anchorEl, setAnchorEl] = useState(null) - open = open ?? Boolean(anchorEl) - const id = open ? "help-popover" : undefined + const anchorRef = useRef(null) + const [isOpen, setIsOpen] = useState(!!open) + const id = isOpen ? "help-popover" : undefined const onClose = () => { - setAnchorEl(null) + setIsOpen(false) } return ( <> = ({ children, open, size = vertical: "top", horizontal: "left", }} + PaperProps={{ + onMouseEnter: () => { + setIsOpen(true) + }, + onMouseLeave: () => { + setIsOpen(false) + }, + }} > - {children} + {children} ) @@ -166,11 +179,16 @@ const useStyles = makeStyles((theme) => ({ height: ({ size }: { size?: Size }) => theme.spacing(getIconSpacingFromSize(size)), }, + popover: { + pointerEvents: "none", + }, + popoverPaper: { marginTop: theme.spacing(0.5), width: theme.spacing(38), padding: theme.spacing(2.5), color: theme.palette.text.secondary, + pointerEvents: "auto", }, title: { From 4c9a73e54d80d66d5c4a454361171f93e3fa1165 Mon Sep 17 00:00:00 2001 From: Bruno Date: Fri, 17 Jun 2022 12:24:22 +0000 Subject: [PATCH 2/2] Fix apostrophe --- .../src/components/Tooltips/HelpTooltip/HelpTooltip.stories.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/src/components/Tooltips/HelpTooltip/HelpTooltip.stories.tsx b/site/src/components/Tooltips/HelpTooltip/HelpTooltip.stories.tsx index 8d2d3ad802cd7..30e9e7fd49ad8 100644 --- a/site/src/components/Tooltips/HelpTooltip/HelpTooltip.stories.tsx +++ b/site/src/components/Tooltips/HelpTooltip/HelpTooltip.stories.tsx @@ -16,7 +16,7 @@ export default { const Template: Story = (args) => ( What is a template? - A template is a common configuration for your team`'`s workspaces. + A template is a common configuration for your team's workspaces. Creating a template Updating a template pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy