All files / components/modals/Modal Modal.tsx

100% Statements 7/7
100% Branches 4/4
100% Functions 2/2
100% Lines 7/7

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 28 29 30 31 32 33 34 35 36    1x 1x   1x   1x 5x                 1x                                 1x  
/* eslint-disable react/jsx-no-bind, no-ternary */
 
import { Container, Content, Top, Wrapper } from "./styled"
import Button from "components/buttons/Button"
import { ComponentProps } from "."
import Icon from "components/Icon"
 
const Modal = ({ children, isOpen, name, onClose }: ComponentProps) => (
  <Wrapper
    $isOpen={isOpen}
    aria-label={name ? `${name} Modal` : "Modal"}
    onClick={onClose}
    role="presentation"
  >
    <Container
      aria-label={name ? `${name} Dialog` : "Dialog"}
      aria-modal="true"
      onClick={(event) => event.stopPropagation()}
      role="dialog"
    >
      <Top>
        <Button
          icon={<Icon name="IoClose" size="24px" />}
          iconOnly
          label="Close Dialog"
          onClick={onClose}
          transparent
        />
      </Top>
      <Content>{children}</Content>
    </Container>
  </Wrapper>
)
 
export default Modal