import { createFocusTrap } from 'focus-trap';
import { useEffect, useRef } from 'react';
/**
 * Хук для удержания фокуса внутри указанного контейнера.
 * Опции соответствуют конфигурации focus-trap.
 */
export const useFocusTrapEffect = ({ ref, isActive, ...options }) => {
    const trapRef = useRef(null);
    useEffect(() => {
        const node = ref.current;
        if (!isActive || !node) {
            trapRef.current?.deactivate();
            trapRef.current = null;
            return;
        }
        const trap = createFocusTrap(node, options);
        trapRef.current = trap;
        trap.activate();
        return () => {
            trap.deactivate();
            trapRef.current = null;
        };
    }, [isActive, ref]);
};
