All files / components/Form/Toggle Toggle.js

100% Statements 5/5
100% Branches 2/2
100% Functions 1/1
100% Lines 5/5

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            13x         13x                 13x 2x           13x      
import React from 'react';
import { number, bool, func } from 'prop-types';
import styled from 'styled-components';
import ToggleCheckbox from './ToggleCheckbox';
import ToggleSlider from './ToggleSlider';
 
const ToggleLabel = styled.label`
  display: inline-block;
  width: 100%;
`;
 
const propTypes = {
  /** height of the Toggle */
  h: number,
  /** disabled flag */
  disabled: bool,
  /** onChange handler */
  onChange: func.isRequired,
};
 
const Toggle = ({ h = 34, disabled = false, onChange, ...rest }) => (
  <ToggleLabel>
    <ToggleCheckbox h={h} onChange={onChange} disabled={disabled} {...rest} />
    <ToggleSlider h={h} disabled={disabled} />
  </ToggleLabel>
);
 
Toggle.propTypes = propTypes;
 
export default Toggle;