var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };

function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }

import './style.scss';

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

var Method = function Method(_ref) {
  var type = _ref.type,
      width = _ref.width,
      className = _ref.className,
      attrs = _objectWithoutProperties(_ref, ['type', 'width', 'className']);

  return React.createElement(
    'span',
    _extends({}, attrs, { className: ['Method Method_' + type, className || ''].join(' '), style: { width: width } }),
    type === 'options' ? 'optns' : type
  );
};

Method.propTypes = process.env.NODE_ENV !== "production" ? {
  className: PropTypes.string,
  type: PropTypes.oneOf(['basic', 'delete', 'fn', 'get', 'link', 'options', 'patch', 'post', 'put']).isRequired,
  width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
} : {};

Method.defaultProps = {
  width: 'auto'
};

export default Method;