Changeset View
Changeset View
Standalone View
Standalone View
lib/components/modal-overlay.react.js
// @flow | // @flow | ||||
import FocusTrap from 'focus-trap-react'; | |||||
import * as React from 'react'; | import * as React from 'react'; | ||||
import css from './modal-overlay.css'; | import css from './modal-overlay.css'; | ||||
type ModalOverlayProps = { | type ModalOverlayProps = { | ||||
+onClose: () => void, | +onClose: () => void, | ||||
+children?: React.Node, | +children?: React.Node, | ||||
}; | }; | ||||
Show All 39 Lines | return ( | ||||
<div | <div | ||||
className={css.modalOverlay} | className={css.modalOverlay} | ||||
ref={overlayRef} | ref={overlayRef} | ||||
onMouseDown={onBackgroundMouseDown} | onMouseDown={onBackgroundMouseDown} | ||||
onMouseUp={onBackgroundMouseUp} | onMouseUp={onBackgroundMouseUp} | ||||
tabIndex={0} | tabIndex={0} | ||||
onKeyDown={onKeyDown} | onKeyDown={onKeyDown} | ||||
> | > | ||||
{children} | <FocusTrap>{children}</FocusTrap> | ||||
</div> | </div> | ||||
); | ); | ||||
} | } | ||||
export default ModalOverlay; | export default ModalOverlay; |