chore: fix issue where tag could not be added to vault

This commit is contained in:
Aman Harwara
2023-08-07 17:53:28 +05:30
parent f0b3d939c5
commit 8a029950ec
5 changed files with 52 additions and 87 deletions

View File

@@ -1,26 +0,0 @@
import { useCallback, useEffect } from 'react'
export function useCloseOnClickOutside(container: { current: HTMLDivElement | null }, callback: () => void): void {
const closeOnClickOutside = useCallback(
(event: { target: EventTarget | null }) => {
if (!container.current) {
return
}
const isDescendantOfContainer = container.current.contains(event.target as Node)
const isDescendantOfDialog = (event.target as HTMLElement).closest('[role="dialog"]')
if (!isDescendantOfContainer && !isDescendantOfDialog) {
callback()
}
},
[container, callback],
)
useEffect(() => {
document.addEventListener('click', closeOnClickOutside, { capture: true })
return () => {
document.removeEventListener('click', closeOnClickOutside, {
capture: true,
})
}
}, [closeOnClickOutside])
}