Skip to content

Commit 88357ab

Browse files
feat: hidden prop and data attribute
1 parent 3636756 commit 88357ab

File tree

4 files changed

+12
-1
lines changed

4 files changed

+12
-1
lines changed

src/components/Tooltip/Tooltip.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ const Tooltip = ({
2525
delayShow = 0,
2626
delayHide = 0,
2727
float = false,
28+
hidden = false,
2829
noArrow = false,
2930
clickable = false,
3031
closeOnEsc = false,
@@ -538,7 +539,7 @@ const Tooltip = ({
538539
}
539540
}, [id, anchorSelect])
540541

541-
const canShow = content && show && Object.keys(inlineStyles).length > 0
542+
const canShow = !hidden && content && show && Object.keys(inlineStyles).length > 0
542543

543544
return rendered ? (
544545
<WrapperElement

src/components/Tooltip/TooltipTypes.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ export type DataAttribute =
2424
| 'delay-show'
2525
| 'delay-hide'
2626
| 'float'
27+
| 'hidden'
2728

2829
/**
2930
* @description floating-ui middleware
@@ -62,6 +63,7 @@ export interface ITooltip {
6263
delayShow?: number
6364
delayHide?: number
6465
float?: boolean
66+
hidden?: boolean
6567
noArrow?: boolean
6668
clickable?: boolean
6769
closeOnEsc?: boolean

src/components/TooltipController/TooltipController.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ const TooltipController = ({
3535
delayShow = 0,
3636
delayHide = 0,
3737
float = false,
38+
hidden = false,
3839
noArrow = false,
3940
clickable = false,
4041
closeOnEsc = false,
@@ -53,6 +54,7 @@ const TooltipController = ({
5354
const [tooltipDelayShow, setTooltipDelayShow] = useState(delayShow)
5455
const [tooltipDelayHide, setTooltipDelayHide] = useState(delayHide)
5556
const [tooltipFloat, setTooltipFloat] = useState(float)
57+
const [tooltipHidden, setTooltipHidden] = useState(hidden)
5658
const [tooltipWrapper, setTooltipWrapper] = useState<WrapperType>(wrapper)
5759
const [tooltipEvents, setTooltipEvents] = useState(events)
5860
const [tooltipPositionStrategy, setTooltipPositionStrategy] = useState(positionStrategy)
@@ -112,6 +114,9 @@ const TooltipController = ({
112114
float: (value) => {
113115
setTooltipFloat(value === null ? float : value === 'true')
114116
},
117+
hidden: (value) => {
118+
setTooltipHidden(value === null ? hidden : value === 'true')
119+
},
115120
}
116121
// reset unset data attributes to default values
117122
// without this, data attributes from the last active anchor will still be used
@@ -239,6 +244,7 @@ const TooltipController = ({
239244
delayShow: tooltipDelayShow,
240245
delayHide: tooltipDelayHide,
241246
float: tooltipFloat,
247+
hidden: tooltipHidden,
242248
noArrow,
243249
clickable,
244250
closeOnEsc,

src/components/TooltipController/TooltipControllerTypes.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export interface ITooltipController {
4242
delayShow?: number
4343
delayHide?: number
4444
float?: boolean
45+
hidden?: boolean
4546
noArrow?: boolean
4647
clickable?: boolean
4748
closeOnEsc?: boolean
@@ -70,5 +71,6 @@ declare module 'react' {
7071
'data-tooltip-delay-show'?: number
7172
'data-tooltip-delay-hide'?: number
7273
'data-tooltip-float'?: boolean
74+
'data-tooltip-hidden'?: boolean
7375
}
7476
}

0 commit comments

Comments
 (0)