Skip to content

Commit 0fe200b

Browse files
committed
trap focus in terms modal
1 parent 13ac629 commit 0fe200b

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
"filestack-js": "^1.7.7",
5252
"filestack-react": "^2.0.0",
5353
"flag-icon-css": "^3.3.0",
54+
"focus-trap-react": "^6.0.0",
5455
"helmet": "^3.12.1",
5556
"highlight.js": "^9.13.1",
5657
"html-to-text": "^3.3.0",

src/shared/components/Terms/index.jsx

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import React from 'react';
1010
import PT from 'prop-types';
1111
import { Modal, PrimaryButton, Button } from 'topcoder-react-ui-kit';
1212
import LoadingIndicator from 'components/LoadingIndicator';
13+
import FocusTrap from 'focus-trap-react';
1314
import TermDetails from './TermDetails';
1415

1516
import style from './styles.scss';
@@ -159,15 +160,16 @@ export default class Terms extends React.Component {
159160

160161
return (
161162
<div key={(selectedTerm || {}).termsOfUseId}>
162-
<Modal
163-
onCancel={onCancel}
164-
theme={{ container: style['modal-container'] }}
165-
>
166-
{
163+
<FocusTrap>
164+
<Modal
165+
onCancel={onCancel}
166+
theme={{ container: style['modal-container'] }}
167+
>
168+
{
167169
isLoadingTerms
168170
&& <LoadingIndicator />
169171
}
170-
{
172+
{
171173
!isLoadingTerms && (
172174
<div styleName="modal-content" ref={this.terms} tabIndex="0">
173175
<div styleName="title">
@@ -327,7 +329,8 @@ export default class Terms extends React.Component {
327329
</div>
328330
)
329331
}
330-
</Modal>
332+
</Modal>
333+
</FocusTrap>
331334
</div>
332335
);
333336
}

0 commit comments

Comments
 (0)