ArtemZhyto /modal-layout-componentTypeScript10Accessible React/Next.js modal component with focus trap, keyboard navigation, and scroll lock.componentnextjsreactaccessible