@@ -16,7 +16,7 @@ export const FOCUS_OUTSIDE = 'dismissableLayer.focusOutside'
16
16
function isLayerExist ( layerElement : HTMLElement , targetElement : HTMLElement ) {
17
17
const targetLayer = targetElement . closest (
18
18
'[data-dismissable-layer]' ,
19
- ) as HTMLElement
19
+ )
20
20
21
21
const mainLayer = layerElement . dataset . dismissableLayer === ''
22
22
? layerElement
@@ -27,10 +27,8 @@ function isLayerExist(layerElement: HTMLElement, targetElement: HTMLElement) {
27
27
const nodeList = Array . from (
28
28
layerElement . ownerDocument . querySelectorAll ( '[data-dismissable-layer]' ) ,
29
29
)
30
- if (
31
- ( targetLayer
32
- && mainLayer === targetLayer )
33
- || nodeList . indexOf ( mainLayer ) < nodeList . indexOf ( targetLayer )
30
+
31
+ if ( targetLayer && ( mainLayer === targetLayer || nodeList . indexOf ( mainLayer ) < nodeList . indexOf ( targetLayer ) )
34
32
) {
35
33
return true
36
34
}
@@ -58,9 +56,9 @@ export function usePointerDownOutside(
58
56
if ( ! isClient )
59
57
return
60
58
const handlePointerDown = async ( event : PointerEvent ) => {
61
- const target = event . target as HTMLElement
59
+ const target = event . target as HTMLElement | undefined
62
60
63
- if ( ! element ?. value )
61
+ if ( ! element ?. value || ! target )
64
62
return
65
63
66
64
if ( isLayerExist ( element . value , target ) ) {
@@ -159,7 +157,8 @@ export function useFocusOutside(
159
157
160
158
await nextTick ( )
161
159
await nextTick ( )
162
- if ( ! element . value || isLayerExist ( element . value , event . target as HTMLElement ) )
160
+ const target = event . target as HTMLElement | undefined
161
+ if ( ! element . value || ! target || isLayerExist ( element . value , target ) )
163
162
return
164
163
165
164
if ( event . target && ! isFocusInsideDOMTree . value ) {
0 commit comments