| Total Complexity | 4 | 
| Complexity/F | 2 | 
| Lines of Code | 21 | 
| Function Count | 2 | 
| Duplicated Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | export const clickOutside = (  | 
            ||
| 2 | node: HTMLElement,  | 
            ||
| 3 | callback: () => void  | 
            ||
| 4 | ): { | 
            ||
| 5 | destroy: () => void;  | 
            ||
| 6 | } => { | 
            ||
| 7 |   const handleClick = (event: Event) => { | 
            ||
| 8 |     if (!node.contains(event.target as HTMLElement)) { | 
            ||
| 9 | callback();  | 
            ||
| 10 | }  | 
            ||
| 11 | };  | 
            ||
| 12 | |||
| 13 |   document.addEventListener("click", handleClick, true); | 
            ||
| 14 | |||
| 15 |   return { | 
            ||
| 16 |     destroy() { | 
            ||
| 17 |       document.removeEventListener("click", handleClick, true); | 
            ||
| 18 | },  | 
            ||
| 19 | };  | 
            ||
| 20 | };  | 
            ||
| 21 |