import PropTypes from 'prop-types';
import React from 'react';

import InputText from './_text';
import InputPhone from './_phone';
import InputCurrency from './_currency';
import InputSelect from './_select';
import InputMaps from './_maps';

const Input = props => {
  switch (props.type) {
    case 'text':
      return <InputText {...props} />;
    case 'phone':
      return <InputPhone {...props} />;
    case 'currency':
      return <InputCurrency {...props} />;
    case 'select':
      return <InputSelect {...props} />;
    case 'maps':
      return <InputMaps {...props} />;
  }
};

Input.propTypes = {
  type: PropTypes.oneOf(['text', 'phone', 'currency', 'select', 'maps']),
};

Input.defaultProps = {
  type: 'text',
};

export default Input;
