All files / src/internal/client/dom/elements/bindings document.js

33.33% Statements 8/24
100% Branches 0/0
0% Functions 0/1
30.43% Lines 7/23

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 242x 2x 2x 2x 2x 2x 2x                                  
import { render_effect } from '../../../reactivity/effects.js';
 
/**
 * @param {(activeElement: Element | null) => void} update
 * @returns {void}
 */
export function bind_active_element(update) {
	var handler = () => {
		update(document.activeElement);
	};

	handler();

	document.addEventListener('focus', handler, true);
	document.addEventListener('blur', handler, true);

	render_effect(() => {
		return () => {
			document.removeEventListener('focus', handler);
			document.removeEventListener('blur', handler);
		};
	});
}