All files / molecules/Input/Container index.jsx

33.33% Statements 2/6
0% Branches 0/4
0% Functions 0/1
33.33% Lines 2/6

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            1x                                   1x                  
import React from 'react';
import PropTypes from 'prop-types';
 
import { ListItem } from '../../List';
import InputOutline from '../Outline';
 
const InputContainer = ({ children, hasAddons, labelIsActive, labelWidth, outlined, ...rest }) => {
  const itemElement = hasAddons ? undefined : 'label';
  if (outlined) {
    return (
      <InputOutline {...rest} labelIsActive={labelIsActive} labelWidth={labelWidth}>
        <ListItem css={{ margin: '-1px' }} element={itemElement} transparent>
          {children}
        </ListItem>
      </InputOutline>
    );
  }
  return (
    <ListItem element={itemElement} {...rest}>
      {children}
    </ListItem>
  );
};
 
InputContainer.propTypes = {
  children: PropTypes.node.isRequired,
  hasAddons: PropTypes.bool.isRequired,
  labelIsActive: PropTypes.bool.isRequired,
  labelWidth: PropTypes.number.isRequired,
  outlined: PropTypes.bool.isRequired,
};
 
export default InputContainer;