@@ -8,7 +8,9 @@ import React, {
8
8
// Types
9
9
ContextType ,
10
10
ElementType ,
11
+ FocusEvent as ReactFocusEvent ,
11
12
KeyboardEvent as ReactKeyboardEvent ,
13
+ MouseEvent as ReactMouseEvent ,
12
14
MutableRefObject ,
13
15
Ref ,
14
16
} from 'react'
@@ -30,6 +32,7 @@ import { attemptSubmit, objectToFormEntries } from '../../utils/form'
30
32
import { getOwnerDocument } from '../../utils/owner'
31
33
import { useEvent } from '../../hooks/use-event'
32
34
import { useControllable } from '../../hooks/use-controllable'
35
+ import { isDisabledReactIssue7711 } from '../../utils/bugs'
33
36
34
37
interface Option < T = unknown > {
35
38
id : string
@@ -385,14 +388,19 @@ let Option = forwardRefWithAs(function Option<
385
388
[ id , registerOption , internalOptionRef , props ]
386
389
)
387
390
388
- let handleClick = useEvent ( ( ) => {
391
+ let handleClick = useEvent ( ( event : ReactMouseEvent ) => {
392
+ if ( isDisabledReactIssue7711 ( event . currentTarget ) ) return event . preventDefault ( )
389
393
if ( ! change ( value ) ) return
390
394
391
395
addFlag ( OptionState . Active )
392
396
internalOptionRef . current ?. focus ( )
393
397
} )
394
398
395
- let handleFocus = useEvent ( ( ) => addFlag ( OptionState . Active ) )
399
+ let handleFocus = useEvent ( ( event : ReactFocusEvent ) => {
400
+ if ( isDisabledReactIssue7711 ( event . currentTarget ) ) return event . preventDefault ( )
401
+ addFlag ( OptionState . Active )
402
+ } )
403
+
396
404
let handleBlur = useEvent ( ( ) => removeFlag ( OptionState . Active ) )
397
405
398
406
let isFirstOption = firstOption ?. id === id
0 commit comments