All files FocusTrap.tsx

0% Statements 0/14
0% Branches 0/5
0% Functions 0/3
0% Lines 0/9

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27                                                     
import React from 'react'
 
interface FocusTrapProps {
  children: React.ReactNode
  onRefUpdated: (ref: React.ReactInstance) => any
  onFocus: React.FocusEventHandler
  onBlur: React.FocusEventHandler
}
 
export class FocusTrap extends React.Component<FocusTrapProps, {}> {
 
  focusTrap = (ref: React.ReactInstance | null) => {
    if (ref) {
      this.props.onRefUpdated(ref)
    }
  }
 
  render() {
    const { children, onRefUpdated, ...props } = this.props
    return (
      <div ref={this.focusTrap} tabIndex={-1} {...props}>
        {children}
      </div>
    )
  }
}