mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-12 13:13:45 +01:00
Make BibTeX modals scrollable GitOrigin-RevId: 3ef2d2e7ac5e481c0e31c937b62ff4467c23f220
34 lines
781 B
TypeScript
34 lines
781 B
TypeScript
import { useRef } from 'react'
|
|
import {
|
|
FocusTrap as FocusTrapReact,
|
|
FocusTrapProps as FocusTrapReactProps,
|
|
} from 'focus-trap-react'
|
|
|
|
export type FocusTrapProps = {
|
|
active: FocusTrapReactProps['active']
|
|
children: React.ReactNode
|
|
focusTrapOptions?: FocusTrapReactProps['focusTrapOptions']
|
|
}
|
|
|
|
export default function FocusTrap({
|
|
active,
|
|
focusTrapOptions,
|
|
children,
|
|
}: FocusTrapProps) {
|
|
const containerRef = useRef<HTMLDivElement>(null)
|
|
|
|
return (
|
|
<FocusTrapReact
|
|
active={active}
|
|
focusTrapOptions={{
|
|
...focusTrapOptions,
|
|
fallbackFocus: () => containerRef.current as HTMLElement,
|
|
}}
|
|
>
|
|
<div ref={containerRef} className="focus-trap-container" tabIndex={-1}>
|
|
{children}
|
|
</div>
|
|
</FocusTrapReact>
|
|
)
|
|
}
|