@@ -84,13 +84,17 @@ export let FocusTrap = Object.assign(
8484
8585 let ownerDocument = computed ( ( ) => getOwnerDocument ( container ) )
8686
87+ let mounted = ref ( false )
88+ onMounted ( ( ) => ( mounted . value = true ) )
89+ onUnmounted ( ( ) => ( mounted . value = false ) )
90+
8791 useRestoreFocus (
8892 { ownerDocument } ,
89- computed ( ( ) => Boolean ( props . features & Features . RestoreFocus ) )
93+ computed ( ( ) => mounted . value && Boolean ( props . features & Features . RestoreFocus ) )
9094 )
9195 let previousActiveElement = useInitialFocus (
9296 { ownerDocument, container, initialFocus : computed ( ( ) => props . initialFocus ) } ,
93- computed ( ( ) => Boolean ( props . features & Features . InitialFocus ) )
97+ computed ( ( ) => mounted . value && Boolean ( props . features & Features . InitialFocus ) )
9498 )
9599 useFocusLock (
96100 {
@@ -99,7 +103,7 @@ export let FocusTrap = Object.assign(
99103 containers : props . containers ,
100104 previousActiveElement,
101105 } ,
102- computed ( ( ) => Boolean ( props . features & Features . FocusLock ) )
106+ computed ( ( ) => mounted . value && Boolean ( props . features & Features . FocusLock ) )
103107 )
104108
105109 let direction = useTabDirection ( )
@@ -132,6 +136,7 @@ export let FocusTrap = Object.assign(
132136 }
133137
134138 function handleBlur ( e : FocusEvent ) {
139+ if ( ! mounted . value ) return
135140 let allContainers = resolveContainers ( props . containers )
136141 if ( dom ( container ) instanceof HTMLElement ) allContainers . add ( dom ( container ) ! )
137142
0 commit comments