1
0
Fork 0
mirror of https://github.com/betagouv/mon-entreprise synced 2025-02-09 02:55:01 +00:00
mon-entreprise/source/components/Overlay.js
Johan Girod 29b6536eb3
🐛 Répare les liens dans les modales (overlay)
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
2019-05-23 12:18:46 +02:00

31 lines
782 B
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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>
)
}
}