'use strict';

Object.defineProperty(exports, "__esModule", {
  value: true
});

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; };

exports.default = UnrelateButton;

var _react = require('react');

var _react2 = _interopRequireDefault(_react);

var _propTypes = require('prop-types');

var _propTypes2 = _interopRequireDefault(_propTypes);

var _reactIntl = require('react-intl');

var _cspaceInput = require('cspace-input');

var _UnrelateButton = require('../../../styles/cspace-ui/UnrelateButton.css');

var _UnrelateButton2 = _interopRequireDefault(_UnrelateButton);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

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; }

var Button = _cspaceInput.components.Button;


var messages = (0, _reactIntl.defineMessages)({
  label: {
    'id': 'unrelateButton.label',
    'defaultMessage': 'Unrelate'
  }
});

var propTypes = {
  isUnrelating: _propTypes2.default.bool,
  isUnrelatable: _propTypes2.default.bool,
  onClick: _propTypes2.default.func
};

var defaultProps = {
  isUnrelatable: true
};

function UnrelateButton(props) {
  var isUnrelating = props.isUnrelating,
      isUnrelatable = props.isUnrelatable,
      onClick = props.onClick,
      remainingProps = _objectWithoutProperties(props, ['isUnrelating', 'isUnrelatable', 'onClick']);

  if (!isUnrelatable) {
    return null;
  }

  return _react2.default.createElement(
    Button,
    _extends({}, remainingProps, {
      className: _UnrelateButton2.default.common,
      disabled: isUnrelating,
      icon: true,
      name: 'unrelate',
      onClick: onClick
    }),
    _react2.default.createElement(_reactIntl.FormattedMessage, messages.label)
  );
}

UnrelateButton.propTypes = propTypes;
UnrelateButton.defaultProps = defaultProps;