@@ -9,16 +9,24 @@ import typeValidation from '../../../utils/type-validation';
99import useOnClickOutside from '../../../hooks/useOnClickOutside' ;
1010
1111const ToolTranslate = ( {
12- children, currentLang, className, descCurrentLang, title, ...remainingProps
12+ children,
13+ currentLang,
14+ className,
15+ descCurrentLang,
16+ title,
17+ ...remainingProps
1318} ) => {
1419 const [ isOpen , setIsOpen ] = useState ( false ) ;
1520 const _className = classNames ( className , 'fr-translate fr-nav' ) ;
1621 const translateMenuRef = useRef ( ) ;
17- const close = useCallback ( ( e ) => {
18- if ( ( translateMenuRef && translateMenuRef . current !== e . target ) && isOpen ) {
19- setIsOpen ( false ) ;
20- }
21- } , [ isOpen ] ) ;
22+ const close = useCallback (
23+ ( e ) => {
24+ if ( translateMenuRef && translateMenuRef . current !== e . target && isOpen ) {
25+ setIsOpen ( false ) ;
26+ }
27+ } ,
28+ [ isOpen ] ,
29+ ) ;
2230 useOnClickOutside ( translateMenuRef , close ) ;
2331
2432 return (
@@ -29,7 +37,10 @@ const ToolTranslate = ({
2937 >
3038 < div className = "fr-nav__item" ref = { translateMenuRef } >
3139 < button
32- onClick = { ( ) => setIsOpen ( ! isOpen ) }
40+ onClick = { ( e ) => {
41+ e . preventDefault ( ) ;
42+ setIsOpen ( ! isOpen ) ;
43+ } }
3344 type = "button"
3445 className = "fr-btn fr-btn--tertiary fr-translate__btn"
3546 aria-controls = "translate-516"
@@ -38,10 +49,15 @@ const ToolTranslate = ({
3849 >
3950 { currentLang }
4051 </ button >
41- < div className = { `fr-translate__menu fr-menu ${ isOpen ? 'fr-collapse--expanded' : 'fr-collapse' } ` } id = "translate-516" onClick = { ( ) => setIsOpen ( false ) } onKeyDown = { ( e ) => ( e . key === 'Enter' ? setIsOpen ( false ) : null ) } role = "menuitem" tabIndex = { - 1 } >
42- < ul className = "fr-menu__list" >
43- { children }
44- </ ul >
52+ < div
53+ className = { `fr-translate__menu fr-menu ${ isOpen ? 'fr-collapse--expanded' : 'fr-collapse' } ` }
54+ id = "translate-516"
55+ onClick = { ( ) => setIsOpen ( false ) }
56+ onKeyDown = { ( e ) => ( e . key === 'Enter' ? setIsOpen ( false ) : null ) }
57+ role = "menuitem"
58+ tabIndex = { - 1 }
59+ >
60+ < ul className = "fr-menu__list" > { children } </ ul >
4561 </ div >
4662 </ div >
4763 </ nav >
0 commit comments