mirror of
https://github.com/betagouv/mon-entreprise
synced 2025-02-09 06:25:12 +00:00
29b6536eb3
Les événements de clique à l'intérieur de la modale étaient stoppés et annulé (via preventDefault et stopPropagation). Cela, afin d'éviter de déclencher le onClose de la div parente. Avec l'ajout du composant FocusTrap, on a plus besoin d'un tel mécanisme (qui a de grosse limites). J'ai donc supprimé les onClick sur les divs concernées Fix #548
31 lines
782 B
JavaScript
31 lines
782 B
JavaScript
import FocusTrap from 'focus-trap-react'
|
||
import React, { Component } from 'react'
|
||
import * as animate from 'Ui/animate'
|
||
import { LinkButton } from 'Ui/Button'
|
||
import './Overlay.css'
|
||
export default class Overlay extends Component {
|
||
render() {
|
||
const { onClose, children, ...otherProps } = this.props
|
||
return (
|
||
<div id="overlayWrapper">
|
||
<animate.fromBottom>
|
||
<FocusTrap
|
||
focusTrapOptions={{
|
||
onDeactivate: onClose,
|
||
clickOutsideDeactivates: true
|
||
}}>
|
||
<div aria-modal="true" id="overlayContent" {...otherProps}>
|
||
{children}
|
||
<LinkButton
|
||
aria-label="close"
|
||
onClick={onClose}
|
||
id="overlayCloseButton">
|
||
×
|
||
</LinkButton>
|
||
</div>
|
||
</FocusTrap>
|
||
</animate.fromBottom>
|
||
</div>
|
||
)
|
||
}
|
||
}
|