Skip to content

Commit 4f1be53

Browse files
authored
fix: prevent pressing disabled children within tooltip (#4291)
1 parent 756f72a commit 4f1be53

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

example/src/Examples/TooltipExample.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ const formOfTransport = [
4242
];
4343

4444
const TooltipExample = ({ navigation }: Props) => {
45+
const [textAlign, setTextAlign] = React.useState('bold');
4546
React.useLayoutEffect(() => {
4647
navigation.setOptions({
4748
header: () => (
@@ -95,15 +96,18 @@ const TooltipExample = ({ navigation }: Props) => {
9596
</List.Section>
9697
<List.Section title="Toggle Buttons">
9798
<ToggleButton.Row
98-
value="bold"
99+
value={textAlign}
99100
style={styles.toggleButtonRow}
100-
onValueChange={() => {}}
101+
onValueChange={setTextAlign}
101102
>
102-
<Tooltip title="Bold">
103-
<ToggleButton icon="format-bold" value="bold" />
103+
<Tooltip title="Align left">
104+
<ToggleButton icon="format-align-left" value="left" />
104105
</Tooltip>
105106
<Tooltip title="Align center">
106-
<ToggleButton icon="format-align-center" value="align-center" />
107+
<ToggleButton icon="format-align-center" value="center" />
108+
</Tooltip>
109+
<Tooltip title="Align right">
110+
<ToggleButton icon="format-align-right" value="right" disabled />
107111
</Tooltip>
108112
</ToggleButton.Row>
109113
</List.Section>

src/components/Tooltip/Tooltip.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ const Tooltip = ({
122122
};
123123

124124
const handleTouchStart = () => {
125+
console.log('start');
125126
if (hideTooltipTimer.current.length) {
126127
hideTooltipTimer.current.forEach((t) => clearTimeout(t));
127128
hideTooltipTimer.current = [];
@@ -158,6 +159,7 @@ const Tooltip = ({
158159
if (touched.current) {
159160
return null;
160161
} else {
162+
if (children.props.disabled) return null;
161163
return children.props.onPress?.();
162164
}
163165
}, [children.props]),

0 commit comments

Comments
 (0)