All files / molecules/Button wrapChild.jsx

0% Statements 0/3
0% Branches 0/4
0% Functions 0/2
0% Lines 0/3

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                                       
import React, { cloneElement, isValidElement } from 'react';
import Atom from '../../atoms/Atom';
 
export default busy => child => {
  const css = busy
    ? { visibility: 'hidden' }
    : {
        pointerEvents: 'none',
        position: 'relative',
        zIndex: 1,
      };
  return isValidElement(child) ? (
    cloneElement(child, { css: { ...child.props.css, ...css } })
  ) : (
    <Atom element="span" css={css}>
      {child}
    </Atom>
  );
};