Documentation
useFocusTrap
Trap focus within an element for modal accessibility.
Installation
pnpm add @rouf-dev/pantheon-uiUsage
"use client";
import { useFocusTrap } from "@rouf-dev/pantheon-ui";
import { useRef } from "react";
export function ModalDemo() {
const modalRef = useRef(null);
useFocusTrap(modalRef, true); // true = trap is active
return (
<div ref={modalRef}>
<button>First focusable</button>
<input type="text" />
<button>Last focusable</button>
</div>
);
}Parameters
ref: React ref for the container element
active: Boolean to enable/disable focus trap