import "core-js/modules/web.dom.iterable";
import "core-js/modules/es6.array.iterator";
import "core-js/modules/es6.object.keys";
import "core-js/modules/es6.object.assign";

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }

import React from 'react';
import PropTypes from 'prop-types';
/**
 * @category controls
 * @component link
 * @variations collab-ui-react
 */

var Link = function Link(_ref) {
  var className = _ref.className,
      children = _ref.children,
      color = _ref.color,
      disabled = _ref.disabled,
      tag = _ref.tag,
      theme = _ref.theme,
      props = _objectWithoutPropertiesLoose(_ref, ["className", "children", "color", "disabled", "tag", "theme"]);

  return React.createElement(tag, Object.assign({
    className: 'cui-link' + ("" + (color && " cui-link--" + color || '')) + ("" + (theme && " cui-link--" + theme || '')) + ("" + (className && " " + className || '')),
    disabled: disabled
  }, !disabled && {
    tabIndex: 0
  }, props), children);
};

Link.propTypes = {
  /** @prop Children nodes to render inside Link Component | null */
  children: PropTypes.node.isRequired,

  /** @prop Optional css class string | '' */
  className: PropTypes.string,

  /** @prop Optional color css styling | 'blue' */
  color: PropTypes.string,

  /** @prop Sets the attribute disabled to the Link | false */
  disabled: PropTypes.bool,

  /** @prop Set HTML tag type | 'a' */
  tag: PropTypes.oneOf(['a', 'div', 'span']),

  /** @prop Set Link theme | ''  */
  theme: PropTypes.string
};
Link.defaultProps = {
  children: null,
  className: '',
  color: 'blue',
  disabled: false,
  tag: 'a',
  theme: ''
};
Link.displayName = 'Link';
export default Link;
/**
* @component link
* @section default
* @react
import { Link } from '@collab-ui/react';

export default function LinkDefault() {
  return(
    <div className='columns small-3'>
      <Link>Default</Link>
      <Link tag='div'>Tag Prop(div)</Link>
      <Link tag='span'>Tag Prop(span)</Link>
    </div>
  );
}

**/

/**
* @component link
* @section colored
* @react
import { Link } from '@collab-ui/react';

export default function LinkColored() {
  return(
    <Link tag='div' color='red'>Color Prop(red)</Link>
  );
}
**/