Skip to content

Commit eba4b01

Browse files
nareshpingalegabrieljablonski
authored andcommitted
feat: support for disabled tooltip callback
1 parent 2172242 commit eba4b01

File tree

4 files changed

+8
-0
lines changed

4 files changed

+8
-0
lines changed

src/components/Tooltip/Tooltip.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ const Tooltip = ({
5656
position,
5757
afterShow,
5858
afterHide,
59+
disableTooltip,
5960
// props handled by controller
6061
content,
6162
contentWrapperRef,
@@ -459,6 +460,9 @@ const Tooltip = ({
459460
const elementRefs = new Set(anchorRefs)
460461

461462
anchorsBySelect.forEach((anchor) => {
463+
if(disableTooltip?.(anchor)){
464+
return;
465+
}
462466
elementRefs.add({ current: anchor })
463467
})
464468

src/components/Tooltip/TooltipTypes.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ export interface ITooltip {
152152
setIsOpen?: (value: boolean) => void
153153
afterShow?: () => void
154154
afterHide?: () => void
155+
disableTooltip?: (anchorRef: HTMLElement | null) => boolean
155156
activeAnchor: HTMLElement | null
156157
setActiveAnchor: (anchor: HTMLElement | null) => void
157158
border?: CSSProperties['border']

src/components/TooltipController/TooltipController.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ const TooltipController = React.forwardRef<TooltipRefProps, ITooltipController>(
6161
setIsOpen,
6262
afterShow,
6363
afterHide,
64+
disableTooltip,
6465
role = 'tooltip',
6566
}: ITooltipController,
6667
ref,
@@ -370,6 +371,7 @@ const TooltipController = React.forwardRef<TooltipRefProps, ITooltipController>(
370371
setIsOpen,
371372
afterShow,
372373
afterHide,
374+
disableTooltip,
373375
activeAnchor,
374376
setActiveAnchor: (anchor: HTMLElement | null) => setActiveAnchor(anchor),
375377
role,

src/components/TooltipController/TooltipControllerTypes.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ export interface ITooltipController {
9494
setIsOpen?: (value: boolean) => void
9595
afterShow?: () => void
9696
afterHide?: () => void
97+
disableTooltip?: (anchorRef: HTMLElement | null) => boolean
9798
role?: React.AriaRole
9899
}
99100

0 commit comments

Comments
 (0)