@@ -84,13 +84,17 @@ export let FocusTrap = Object.assign(
84
84
85
85
let ownerDocument = computed ( ( ) => getOwnerDocument ( container ) )
86
86
87
+ let mounted = ref ( false )
88
+ onMounted ( ( ) => ( mounted . value = true ) )
89
+ onUnmounted ( ( ) => ( mounted . value = false ) )
90
+
87
91
useRestoreFocus (
88
92
{ ownerDocument } ,
89
- computed ( ( ) => Boolean ( props . features & Features . RestoreFocus ) )
93
+ computed ( ( ) => mounted . value && Boolean ( props . features & Features . RestoreFocus ) )
90
94
)
91
95
let previousActiveElement = useInitialFocus (
92
96
{ ownerDocument, container, initialFocus : computed ( ( ) => props . initialFocus ) } ,
93
- computed ( ( ) => Boolean ( props . features & Features . InitialFocus ) )
97
+ computed ( ( ) => mounted . value && Boolean ( props . features & Features . InitialFocus ) )
94
98
)
95
99
useFocusLock (
96
100
{
@@ -99,7 +103,7 @@ export let FocusTrap = Object.assign(
99
103
containers : props . containers ,
100
104
previousActiveElement,
101
105
} ,
102
- computed ( ( ) => Boolean ( props . features & Features . FocusLock ) )
106
+ computed ( ( ) => mounted . value && Boolean ( props . features & Features . FocusLock ) )
103
107
)
104
108
105
109
let direction = useTabDirection ( )
@@ -132,6 +136,7 @@ export let FocusTrap = Object.assign(
132
136
}
133
137
134
138
function handleBlur ( e : FocusEvent ) {
139
+ if ( ! mounted . value ) return
135
140
let allContainers = resolveContainers ( props . containers )
136
141
if ( dom ( container ) instanceof HTMLElement ) allContainers . add ( dom ( container ) ! )
137
142
0 commit comments