Skip to content

Commit a841cc3

Browse files
committed
add new onBeforeOpen prop on Tooltip to avoid overwriting of onOpen prop
1 parent 689da9c commit a841cc3

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/components/Glossary/GlossaryTooltip/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ const GlossaryTooltip = ({ children, termKey }: GlossaryTooltipProps) => {
2626
options={{ ns: "glossary-tooltip" }}
2727
/>
2828
}
29-
onOpen={() => {
29+
onBeforeOpen={() => {
3030
trackCustomEvent({
3131
eventCategory: "Glossary Tooltip",
3232
eventAction: cleanPath(asPath),

src/components/Tooltip/index.tsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,15 @@ import { isMobile } from "@/lib/utils/isMobile"
1414
export interface IProps extends PopoverProps {
1515
content: ReactNode
1616
children?: ReactNode
17+
onBeforeOpen?: () => void
1718
}
1819

19-
const Tooltip: React.FC<IProps> = ({ content, children, ...rest }) => {
20+
const Tooltip: React.FC<IProps> = ({
21+
content,
22+
children,
23+
onBeforeOpen,
24+
...rest
25+
}) => {
2026
const { isOpen, onOpen, onClose } = useDisclosure()
2127

2228
// Close the popover when the user scrolls.
@@ -46,19 +52,19 @@ const Tooltip: React.FC<IProps> = ({ content, children, ...rest }) => {
4652
}, [isOpen, onClose])
4753

4854
const handleOpen = () => {
55+
onBeforeOpen?.()
4956
onOpen()
50-
rest.onOpen?.()
5157
}
5258

5359
return (
5460
<Popover
61+
isOpen={isOpen}
62+
onOpen={handleOpen}
63+
onClose={onClose}
5564
placement="top"
5665
trigger={isMobile() ? "click" : "hover"}
5766
gutter={8}
5867
{...rest}
59-
isOpen={isOpen}
60-
onOpen={handleOpen}
61-
onClose={onClose}
6268
>
6369
<PopoverTrigger>{children}</PopoverTrigger>
6470
<PopoverContent>

0 commit comments

Comments
 (0)